vim backup_db
#!/bin/bashnode
mysql_host="192.168.1.12"
mysql_user="sige"
mysql_passwd="Sige123"mysql
date=$(date +%Y-%m-%d)sql
bak=/data/backup/數據庫
#備份的數據庫數組
db_arr=$(echo "show databases;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)
#不須要備份的單例數據庫
vim
nodeldb1="performance_schema"數組
nodeldb2="Database"bash
nodeldb3="information_schema"ide
nodeldb4="mysql"orm
#進入到備份目錄
cd $bakit
#循環備份
for dbname in ${db_arr}
do
if [ $dbname != $nodeldb1 -a $dbname != $nodeldb2 -a $dbname != $nodeldb3 -a $dbname != $nodeldb4 ]; then
sqlfile=$dbname-$date".sql"
mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host --default-character-set=utf8 $dbname >$sqlfile
fi
done
#tar打包全部的sql文件
tar -zcf $sqlfile.tar.gz $sqlfile
rm -f $sqlfile
find . -type f -mtime +5 | grep -v backup_db | xargs rm -rffind . -type f -size 0c | xargs rm -rf