#!/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]},即形式:${数组名[下标]}