mysql數據庫定期備份腳本

1.mysqldatabak.sh文件(/root/)

dbuser=ihsebak
dbpasswd=-----^1998
logfile=/root/mysqldatabak.log
dbname1=**********
dbname2=**********
dbname3=**********
backuppath1=/home/mysqldatabak/iheecenterbak/
backuppath2=/home/mysqldatabak/iheebbsbak/
backuppath3=/home/mysqldatabak/iheewikibak/
#設置iheecenter、iheebbs、iheewiki三個庫的參數
newfile1="$backuppath1"ihsecenter$(date +%Y%m%d).tgz
oldfile1="$backuppath1"ihsecenter$(date +%Y%m%d --date='7 daysago').tgz
dumpfile1="$backuppath1"ihsecenter$(date +%Y%m%d).sql
newfile2="$backuppath2"ihsebbs$(date +%Y%m%d).tgz
oldfile2="$backuppath2"ihsebbs$(date +%Y%m%d --date='7 daysago').tgz
dumpfile2="$backuppath2"ihsebbs$(date +%Y%m%d).sql

newfile3="$backuppath3"ihsewiki$(date+%Y%m%d).tgz
oldfile3="$backuppath3"ihsewiki$(date +%Y%m%d --date='7 daysago').tgz
dumpfile3="$backuppath3"ihsewiki$(date +%Y%m%d).sql
echo"---------------------------------------------------------------------------------------">> $logfile
echo $(date +"%Y-%m-%d %h:%m:%s") >> $logfile
//開始備份ihsecenter
if [ -f $oldfile1 ]
then
rm -rf$oldfile1 >> $logfile 2>&1
echo"[$oldfile1]過期文件成功刪除!" >> $logfile
else
echo"沒有過期文件!" >> $logfile
fi
if [ -f $newfile1 ]
then
echo"[$newfile1]備份文件已經存在,不能備份!" >> $logfile
else
if [ -z$dbpasswd ]
then
mysqldump -u $dbuser --opt--default-character-set=gbk $dbname1 >$dumpfile1
else
mysqldump -u $dbuser -p$dbpasswd --opt--default-character-set=gbk $dbname1 >$dumpfile1
fi
cd$backuppath1
tar czvf$newfile1 *.sql
echo"備份ihsecenter文件成功!" >> $logfile
rm -rf$dumpfile1
fi
//開始備份ihsebbs
if [ -f $oldfile2 ]
then
rm -rf$oldfile2 >> $logfile 2>&1
echo"[$oldfile2]過期文件成功刪除!" >> $logfile
else
echo"沒有過期文件!" >> $logfile
fi
if [ -f $newfile2 ]
then
echo"[$newfile2]備份文件已經存在,不能備份!" >> $logfile
else
if [ -z$dbpasswd ]
then
mysqldump -u $dbuser --opt--default-character-set=gbk $dbname2 >$dumpfile2
else
mysqldump -u $dbuser -p$dbpasswd --opt--default-character-set=gbk $dbname2 >$dumpfile2
fi
cd$backuppath2
tar czvf$newfile2 *.sql
echo"備份ihsebbs文件成功!" >> $logfile
rm -rf$dumpfile2
fi
//開始備份ihsewiki
if [ -f $oldfile3 ]
then
rm -rf$oldfile3 >> $logfile 2>&1
echo"[$oldfile3]過期文件成功刪除!" >> $logfile
else
echo"沒有過期文件!" >> $logfile
fi
if [ -f $newfile3 ]
then
echo"[$newfile3]備份文件已經存在,不能備份!" >> $logfile
else
if [ -z$dbpasswd ]
then
mysqldump -u $dbuser --opt--default-character-set=gbk $dbname3 >$dumpfile3
else
mysqldump -u $dbuser -p$dbpasswd --opt--default-character-set=gbk $dbname3 >$dumpfile3
fi
cd $backuppath3
tar czvf$newfile3 *.sql
echo"備份ihsewiki文件成功!" >> $logfile
rm -rf$dumpfile3
fi

2.debug.sh文件

sh ./mysqldatabak.sh

3.crontab -e(每天凌晨0點10分開始備份)

10 0 * * */root/mysqldatabak.sh >/dev/null 2>&1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章