可將一連串欲執行的指令寫成一個檔案,
最後再利用crontab排程,就能夠每個固定時間自動備份了
1.在home目錄上新增一個腳本檔
vi /home/backup.sh
2.輸入下列文字
#bckup databas to ftp site
# your ftp address and folder address
ftp_addr='ftpip1'
ftp_addr2='ftpip2'
# ftp account and password
account='ftpaccount1'
acc_pw='ftpaccount2'
account2='ftppassword1'
acc_pw2='ftppassword2'
# to backup mysql dbase ,account and password
db='dbname'
dbuser='dbuser'
dbpassword='dppassword'
# get year,month,day,hour
da=$(date +%Y%m%d%H%M)
h="pig_ios_"
filename="$h$da"_"$db".sql
echo $filename
# use mysqldump dump $db data to sql file
echo "mysqldump $db -u $dbuser -p$dbpassword --opt > /home/$filename" | sh
# use bzip2 compress sql file
echo "bzip2 /home/$filename" | sh
cd /home
# upload file to ftp server
ftp -n $ftp_addr <<END_SCRIPT
quote USER $account
quote PASS $acc_pw
put $filename.bz2
quit
END_SCRIPT
ftp -n $ftp_addr2 <<END_SCRIPT
quote USER $account2
quote PASS $acc_pw2
put $filename.bz2
quit
END_SCRIPT
exit 0
# erase file
echo "rm -rf $filename.bz2" |sh
3.執行看腳本是否正常運作
sh /home/backup.sh
4.最後再加入crontab排程
vi /etc/crontab
加入這行:
0 5 * * * root /home/backup.sh
重新啟動crontab
crontab /etc/crontab
重新啟動crontab
crontab /etc/crontab
沒有留言:
張貼留言