mysql定時備份shell指令碼

淡定的DBA發表於2014-10-07
1、linux伺服器中指定備份檔案目錄:
# mkdir /Data/mysqlbackup
cd /Data/mysqlbackup
如果mysql執行在mysql使用者和使用者組下面
#chown  -R mysql:mysql /Data/mysqlbackup
#chmod -R 775 /Data/mysqlbackup

2、編寫備份指令碼:
#vi mysql_backup.sh
#!/bin/sh
BackupDir=/Data/mysqlbackup
LogFile=/Data/mysqlbackup/mysql_bak.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 $BackupDir
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 $BackupDir  
echo "Backup OK!"
echo "please Check $BakDir Directory!"
echo "copy it to your local disk or ftp to somewhere !!!"
find $BackupDir -ctime +7-exec rm {} ;
echo "delete file over 7 days"

備註:其中user,name和db請根據自己的情況修改

儲存退出,然後把這個檔案賦予可執行的許可權:

#chmod +x mysql_backup.sh

3、定製定時備份計劃
#crontab -e
每天下午6點30備份:
30 18 * * * /Data/mysqlbackup/mysql_backup.sh

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27144762/viewspace-1290735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章