mysqldump 遠端備份小指令碼
阿新 • • 發佈:2018-12-23
#!/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]},即形式:${陣列名[下標]}