Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1502870
  • 博文数量: 297
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3082
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 11:36
文章分类

全部博文(297)

文章存档

2011年(1)

2009年(45)

2008年(67)

2007年(184)

我的朋友

分类: LINUX

2007-12-05 12:40:15

转载请说明出处:
http://hi.baidu.com/xiutuo/blog/ ... 63433a0dd7da39.html
*********************
功能:
下载服务器ftp目录中的所有文件,
下载完后立即删除服务器ftp目录中的所有文件
*********************

---------------------
环境:

俩台机器都是centos4.5_x86
****************
1.ftp服务器主机信息
ftp服务器主机名server
vftp服务端:vsftp-2.0.1-5.EL4.5
vftp服务器ftp目录默认是系统用户所在目录
这里的用户为ftptest,家目录为/home/ftptest
       IP:192.168.159
       ftp目录:/home/ftptest
       ftp用户:ftptest
       ftptest用户密码:123456
****************
2.ftp客户端主机信息
ftp服务器主机名client
ftp客户端:lftp-3.0.6-3
       IP:192.168.1.153
       存放目录:/home/xiutuo/ftp
       即从服务器下载的文件存放到/home/xiutuo/ftp
****************
3.脚本名:lftp_bak.sh
存放在client中的/etc/目录下
该脚本属xiutuo及其属组xiutuo
# cd /etc/
# chown xiutuo:xiutuo lftp_bak.sh
你可以根据自己需要设置计划任务
让该脚本自动在某时执行
****************
---------------------
为了测试方便,
请在vftp服务端IP:192.168.159机器上安装vsftp的rpm包
在ftp客户端IP:192.168.1.153机器上安装lftp的rpm包
++++++++++++++++++++++++++++++++++++++++



在client主机上
# vi /etc/lftp_bak.sh
增加如下内容


#!/bin/bash
#指定ftp服务器的ip
serverip=192.168.1.159
#指定ftp服务器的ftp用户
serveruser=ftptest
#指定ftp服务器的ftp用户密码
serverpass=123456
#指定client主机本地下载文件存放的目录
localdir=/home/xiutuo/ftp
#指定server主机的ftp目录
#remotedir=./
#指定server主机的主机名
host=`hostname`
#切换到本地下载文件存放的目录
cd $localdir
#输入开始备份的信息
echo "Starting FTP Backup on " $host
#连接ftp服务器
/usr/bin/ftp -in <open $serverip
user $serveruser $serverpass
#切换到server主机的ftp目录
#cd $remotedir
bin
#列出ftp服务器ftp目录中文件列表并存放到client中的$localdir中
ls . mulu.txt
verbose
#下载ftp服务器ftp目录中的所有文件
mget *.* .
#打印ftp状态
stat
#退出ftp服务器
bye
EOF
echo "get the directory list ok,and get all the files once ok"
echo "begin to delte the file in the mulu.txt"
#取出client主机$localdir中的mulu.txt中的文件名
#并逐一删除在mulu.txt的文件
list=`cat mulu.txt | awk '{print $9}'`
for filename in $list
do
/usr/bin/ftp -in <open $serverip
user $serveruser $serverpass
bin
verbose
delete $filename
stat
bye
END
done
echo "delete files in mulu.txt successful"
阅读(2240) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-07-06 05:37:07

#列出ftp服务器ftp目录中文件列表并存放到client中的$localdir中 这行是不是 ls . >mulu.txt