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 i 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!" wangshangyou@mosh.cn < $log_file |