shell实现ftp自动备份

 功能:
下载服务器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 <<EOF
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 <<END
open $serverip
user $serveruser $serverpass
bin
verbose
delete $filename
stat
bye
END
done
echo "delete files in mulu.txt successful"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值