mysqldump 远程备份小脚本

#!/bin/bash
dbpwd='123'

dbuser='backup'

hosts=(192.168.49.3 192.168.49.4 192.168.49.5)

port=3306

DATE=`date +%Y%m%d`

BACKUP_PATH=/data_backup/mysql/backup

LOG=$BACKUP_PATH/$DATE/backup.log

keep_backup_days=1

# if BACKUP_PATH doesn't exists,mkdir
[ -d $BACKUP_PATH ] || mkdir  -p $BACKUP_PATH/$DATE

for host in ${hosts[*]}
do
        alldb=(`echo show databases|mysql -u$dbuser -p$dbpwd -h$host -P$port --default-character-set=utf8mb4 |grep -v "information_schema\|mysql\|performance_schema\|sys\|Database"`)          
         echo -e "=================== $host $DATE `date +%T` DUMP Begin =============="  >>$LOG
        /usr/local/mysql/bin/mysqldump -u$dbuser -p$dbpwd -h$host  --default-character-set=utf8mb4  --single-transaction --master-data=2 --triggers --routines --events --complete-insert --set-
gtid-purged=OFF --databases ${alldb[*]} >$BACKUP_PATH/$DATE/$host.sql 2>>$LOG
        echo -e "=================== $host $DATE `date +%T` DUMP End ================ " >>$LOG
        if [ $? -eq 0 ];then
              echo "$(date +%F%T) $host backup is Success and End" >> success.txt
              find /data_backup/mysql/backup -mtime +1 -type d -exec rm -rf {} \;
        fi
done
 

  参考 数组的介绍:https://www.cnblogs.com/Joke-Shi/p/5705856.html

  arr_number=(1 2 3 4 5);

  获取数组长度  arr_length=${#arr_number[*]}

  读取某个下标的值 arr_index2=${arr_number[2]},即形式:${数组名[下标]}

猜你喜欢

转载自www.cnblogs.com/Camiluo/p/10162992.html