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
|