#!/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