對于linux的應用,對它有很多研究的人都會知道它的命令是很關鍵的。linux定時調(diào)度使用crontab命令操作就可以實現(xiàn),但要把遠程ftp目錄文件拷貝到另外一臺 ftp目錄里面。有人建議A機控制B機去抓C機的ftp數(shù)據(jù),但這樣過于復雜,我們就需要一個sh腳步,就可以實現(xiàn)。
#!/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 <<end_ftp 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
# the end of the auto backup script
把以上shell腳本保存成文件,并配成可執(zhí)行的,配到crontab中即可實現(xiàn)自動備份。
寫在最后:對于這個shell腳本自己不是科班出生可能還是很難寫的,所以,在這里算是資源共享吧。
|