linux中mysql備份shell腳本代碼
更新時間:2013年02月28日 21:28:33 作者:
在linux中如果想定時備份數據庫的腳本我們可以很方便簡單的操作,下面我來分享一段mysql定時備份的腳本代碼
第一步:在你的linux服務器中定義備份目錄:
復制代碼 代碼如下:
mkdir /var/lib/mysqlbackup
cd /var/lib/mysqlbackup
第二步:下面是最重要的一步了,就是寫定時備份腳本。
復制代碼 代碼如下:
vi dbbackup.sh
代碼文件如下
復制代碼 代碼如下:
#!/bin/sh
# mysql data backup script
#
# use mysqldump --help,get more detail.
#
BakDir=/root/back/ysqlbackup
LogFile=/root/back/mysql/mysqlbak.log
DATE=`date +%Y%m%d%H%M%S`
echo " " >> $LogFile
echo " " >> $LogFile
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tar.gz
/usr/local/bin/mysqldump -u user -pname --database -h 127.0.0.1 db> $DumpFile
echo "Dump Done" >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo "[$GZDumpFile]Backup Success!" >> $LogFile
rm -f $DumpFile
#cd $BakDir/daily
cd $BakDir
echo "Backup Done!"
echo "please Check $BakDir Directory!"
echo "copy it to your local disk or ftp to somewhere !!!"
find $BakDir -ctime +30 -exec rm {} ;
echo "delete file over 30 days"
友情提示:其中user,name和db請根據自己的情況修改
保存退出,然后把這個文件賦予可執(zhí)行的權限:
復制代碼 代碼如下:
#chmod 777 mysqlautobackup.sh
用crontab定時執(zhí)行備份腳本代碼:
crontab -e
若每天下午3點20備份,添加如下代碼,
代碼:
復制代碼 代碼如下:
20 15 * * * /var/lib/mysqlbackup/dbbackup.sh
這樣就搞定了,每天會定時幫你備份mysql數據庫了。