linux下自動(dòng)備份MySQL數(shù)據(jù)并上傳到FTP上的shell腳本
更新時(shí)間:2013年01月24日 22:44:04 作者:
linux下自動(dòng)備份MySQL數(shù)據(jù)并上傳到FTP上的shell腳本,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
#!/bin/bash
#Mysql autobackup shell
#
#
#----------------set the mysql login parameters
dbuser=root
dbpasswd=
dbserver=localhost
dbname=fwserver2008
dbopt=--opt
backupdir=/dbbackup/
#-----------------set the FTP paramters , 0 no send to a ftp server,1 send to a ftp server
copytoftp=1
ftpserver=172.16.25.2
ftpuser=linux
ftppasswd=123456
#----------------set the backpfile paramters
fileprefix=fwserver
dumpfilename=$backupdir$fileprefix`date +%F_%H%M%S`.sql
newfile=$fileprefix-`date +%F_%H%M%S`.tar.gz
keepdays=10
#------------------write the operater command to log file
logfile=/var/log/_mysqlbackup.log
logtmp=/var/log/_mybackup.tmp
#===============================================
if [ ! -d $backupdir ]
then
echo "$backupdir is not exist, then make ..." >> $logfile
mkdir -p $backupdir
fi
echo "start====================================>">>$logfile
echo "Beginning backup `date +%F %T`" >>$logfile
echo "Delete $keepdays days ago files ..." >>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;
echo "Deleted Backup file is :">>$logfile
cat $logtmp >>$logfile
echo "Delete old file Success!" >>$logfile
if [ -f $backupdir$newfile ]
then
echo "$newfile backup exist, backup stop ..." >>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1
echo "$backupdir$newfile Backup Success!" >>$logfile
rm -fr $dumpfilename
if [ $copytoftp = 1 ]; then
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 ...." >> $logfile
ftp -i -n <<end_ftp
open $ftpserver
user $ftpuser $ftppasswd
lcd $backupdir
hash
prompt
put $newfile
close
bye
end_ftp
fi
fi
echo "End=======================================">>$logfile
fi
# the end of the auto backup script
您可能感興趣的文章:
- 自動(dòng)化下載并檢測(cè)ftp文件備份的shell腳本
- PowerShell 自動(dòng)備份oracle并上傳到ftp
- CentOS中使用Shell腳本實(shí)現(xiàn)每天自動(dòng)備份網(wǎng)站文件和數(shù)據(jù)庫(kù)并上傳到FTP中
- Shell腳本自動(dòng)備份MySQL到FTP并定期清理過(guò)期備份
- Linux下使用Shell腳本實(shí)現(xiàn)ftp的自動(dòng)上傳下載的代碼小結(jié)
- linux和windows下的自動(dòng)ftp腳本(shell bat)
- linux下實(shí)現(xiàn)ftp自動(dòng)備份shell腳本
- Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件
相關(guān)文章
完美解決ntp的錯(cuò)誤問(wèn)題no server suitable for synchronization fo
下面小編就為大家?guī)?lái)一篇完美解決ntp的錯(cuò)誤問(wèn)題no server suitable for synchronization fo。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03shell結(jié)合expect寫(xiě)的批量scp腳本工具
expect用于自動(dòng)化地執(zhí)行l(wèi)inux環(huán)境下的命令行交互任務(wù),例如scp、ssh之類(lèi)需要用戶手動(dòng)輸入密碼然后確認(rèn)的任務(wù)。有了這個(gè)工具,定義在scp過(guò)程中可能遇到的情況,然后編寫(xiě)相應(yīng)的處理語(yǔ)句,就可以自動(dòng)地完成scp操作了2013-02-02linux下監(jiān)控網(wǎng)絡(luò)流量的腳本
在我們的日常工作當(dāng)中,監(jiān)控網(wǎng)絡(luò)要么使用iptarf,ifstat這些命令實(shí)現(xiàn)的,但是需要裝額外的RPM包。特別是iptarf裝起來(lái)麻煩2013-01-01學(xué)習(xí)Linux網(wǎng)絡(luò)編程基本函數(shù)
這篇文章主要介紹了學(xué)習(xí)Linux網(wǎng)絡(luò)編程,網(wǎng)絡(luò)編程的一些基本函數(shù):也是實(shí)現(xiàn)tcp協(xié)議通訊的基本步驟,實(shí)現(xiàn)代碼在最后,IP需要修改為自己的IP,即可通信2021-08-08Shell腳本實(shí)現(xiàn)在Linux系統(tǒng)中自動(dòng)安裝JDK
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)在Linux系統(tǒng)中自動(dòng)安裝JDK,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01