mysql自动备份shell脚本

01 #!/bin/bash
02 bak_path=/data/bak_path
03 mysql_bk_dir=$bak_path/mysql_bk_dir
04 log_file=$backup_path/backuplog
05 password=123456
06 for in $(mysql -p$password -e "show databases\G" |grep Database | awk '{print $2}')
07 do
08     new_file="$mysql_bk_dir"/$i$(date +%Y%m%d).tar.gz
09     dump_file="$mysql_bk_dir"/$i$(date +%Y%m%d).sql
10     old_file="$mysql_bk_dir"/$i$(date +%Y$m%d).tar.gz
11  
12     echo "------------------------------------------------------------" >> $log_file
13  
14     echo $(date +"%Y-%m-%d %H:%M:%S") >> $log_file
15  
16     echo "------------------------------------------------------------" >>  $log_file
17      
18     if [ -f $old_file ]; then
19         rm -rf $old_file >> $log_file 2>&1;
20         echo "[$old_file] Delete Old File Success!" >> $log_file
21  
22  
23     else
24         echo "[$old_file] No Old Backup File!" >> $log_file
25     fi
26  
27     if [ -f $new_file ]; then
28         echo "[$new_file] The backup file is exist, can't backup!" >> $log_file;
29     else
30         cd $mysql_bk_dir
31  
32 /usr/local/mysql/bin/mysqldump --opt $i -p$password > $dump_file
33  
34         tar zcf $new_file $dump_file >> $log_file 2>&1
35  
36         echo "[$new_file] Backup success!" >> $log_file
37         rm -rf $dump_file
38     fi
39  
40     sleep 15
41 done
42  
43 mail -s "mysql backup is success!" [email protected] < $log_file

猜你喜欢

转载自fengweihong.iteye.com/blog/1311727