1. MySQL排除表备份
#!/bin/bash
date_y=$( date +%Y)
date_m=$( date +%m)
time =` date '+%F-%R' `
mysql_user= "mysql_user"
mysql_passwd= "mysql_passwd"
mysql_host= "127.0.0.1"
tar_path= "/data/backup/backup_mysql_tables"
mysql_dump= "mysqldump -h$mysql_host -u$mysql_user -p$mysql_passwd"
mysql_cmd= "mysql -h$mysql_host -u$mysql_user -p$mysql_passwd"
backup_db_arr=( "test1" "test2" "test3" "test4" )
if [ ! -d $tar_path/$date_y/$date_m ]; then
mkdir -p $tar_path/$date_y/$date_m
fi
exclude_db_tables= "tables_name1|tables_name2|tables_name3|tables_name4"
for j in "${backup_db_arr[@]}" ; do
if [ "$j" == "test2" ]; then
for i in `$mysql_cmd -e "use $j;show tables" | sed '1d' | grep -Ev "$exclude_db_tables" `; do
$mysql_dump $j $i| gzip >> $tar_path/$date_y/$date_m/$j-$ time .sql.gz
done
else
$mysql_dump $j | gzip >> $tar_path/$date_y/$date_m/$j-$ time .sql.gz
fi
done
|
2. MySQL多库备份
#!/bin/bash
date =$( date +%Y%m%d-%H:%M)
date_y=$( date +%Y)
date_m=$( date +%m)
Mysql_Backup_Path= /data/backup/backup_mysql
Mysql_host= "127.0.0.1"
Mysql_user= "mysql_user"
Mysql_pass= "mysql_passwd"
Mysql_cmd= "mysql -h$Mysql_host -u$Mysql_user -p$Mysql_pass"
Mysql_dump= "mysqldump -h$Mysql_host -u$Mysql_user -p$Mysql_pass"
Mysql_database= "test1 test2 test3"
if [ ! -d $Mysql_Backup_Path/$date_d ]; then
mkdir -p $Mysql_Backup_Path/$date_y/$date_m
fi
echo > $Mysql_Backup_Path /mysqldump .log
if [ ! -d $Mysql_Backup_Path/$date_y/$date_m ]; then
mkdir $Mysql_Backup_Path/$date_y/$date_m
fi
for dbname in $Mysql_database; do
$Mysql_dump $dbname | gzip > $Mysql_Backup_Path/$date_y/$date_m/${dbname}_${ date }.sql.gz
if [ $? - eq 0 ]; then
echo "****** mysqldump ${dbname} `date +%Y%m%d-%H:%M:%S` ******" >> $Mysql_Backup_Path /mysqldump .log
fi
done
|
转载于:https://blog.51cto.com/8649605/1855601