soft

soft

mysql 自动备份脚本

#!/bin/bash
#the script is backup all databases for mysql server,first grant all on *.* to adminbak@'106.15.78.185' identified by "backup";
#Setting  
DBHost=xxx
DBUser=xxx
DBPasswd=xxx
BackupPath=/www/backup/database/
LogFile=/www/backup/database/db.log 
NewFile="$BackupPath"db$(date +%y%m%d).sql.tar.gz
DumpFile="$BackupPath"db$(date +%y%m%d) 
OldFile="$BackupPath"db$(date +%y%m%d --date='7 days ago').sql.tar.gz 
echo "-------------------------start backup---------------------" >> $LogFile 
echo "start time is $(date +"%y-%m-%d %H:%M:%S")" >> $LogFile 
#Delete Old File 
if [ -f $OldFile ] 
then 
   rm -f $OldFile >> $LogFile
   echo "[$OldFile]Delete Old File Success!" >> $LogFile 
else 
   echo "[$OldFile]No Old Backup File!" >> $LogFile 
fi 
if [ -f $NewFile ] 
then 
   echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile 
else 
      mysqldump  -h$DBHost -u$DBUser -p$DBPasswd --single-transaction --all-databases > $DumpFile 
      tar czvf $NewFile $DumpFile >/dev/null 2>&1  
      echo "[$NewFile]Backup Success!" >> $LogFile 
      rm -rf $DumpFile 
fi 
echo "end  time is $(date +"%y-%m-%d %H:%M:%S")" >> $LogFile 
echo "--------------------------end backup----------------------" >> $LogFile



增加crontab 定时任务

crontab -e

00 00 * * * /www/backup/database/mysql_databak.sh

按【esc】

:wq

crontab  -l

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

联系我 331434376    15629529961