linux定时调度使用crontab命令操作,没有问题,现在要写一个sh脚步,如何把远程ftp目录文件拷贝到另外一台ftp目录里面
#!/bin/bash
#file autobackup shell
#
#
backupdir=/dbbackup/
waitfilename=/home/test/soft
ftpserver=172.1.1.2
ftpuser=test
ftppasswd=test
ftpserver2=172.1.1.3
ftpuser2=test
ftppasswd2=test
#------------------write the operater command to log file
logfile=/var/log/_backup.log
logtmp=/var/log/_mybackup.tmp
#===============================================
echo "start====================================>">>$logfile
cd $backupdir
tar czvf $backupdir$newfile $waitfilename >>$logfile 2>&1
echo "$backupdir$newfile Backup Success!" >>$logfile
if [ -z $ftpserver ];then
echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile
exit 1
elif [ -z $ftpuser ];then
echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
exit 2
elif [ -z $ftppasswd ]; then
echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
exit 3
else
echo "Start copy to Ftp server to local...." >> $logfile
ftp -i -n < open $ftpserver
user $ftpuser $ftppasswd
lcd $waitfilename
hash
prompt
mget *.*
close
bye
end_ftp
fi
echo "back to other ftp server====================================>">>$logfile
if [ -z $ftpserver2 ];then
echo "Ftp Server2 not set,Copy to Ftp Failed ..." >>$logfile
exit 4
elif [ -z $ftpuser2 ];then
echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
exit 5
elif [ -z $ftppasswd2 ]; then
echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
exit 6
else
echo "Start copy local to other Ftp server ...." >> $logfile
ftp -i -n <<end_ftp2
open $ftpserver2
user $ftpuser2 $ftppasswd2
lcd $waitfilename
hash
prompt
mput .
close
bye
end_ftp2
fi
echo "End=======================================">>$logfile
把以上shell脚本保存成文件,并配成可执行的,配到crontab中即可实现自动备份
telnet过去源机器,然后ftp到目标机器
把文件ftp,put过去就可以了
你是想知道怎么定时执行呢 还是想知道脚本咋写??
A机控制B机去抓C机的ftp数据?
楼上的是正解,把路径和IP改改就能用了。