MySQL备份脚本 发表于 2020-03-01 | 更新于 2022-02-17 | 分类于 IT技术/运维云主机厂商都有自己的RDS系统,自然那是万无一失,但费用可真不便宜,一般还是喜欢自己备份一下。这里是一段备份脚本。放在cron中自动执行。12345678910111213141516171819202122232425262728293031323334353637#!/bin/bash#备份目录BACKUP_ROOT=/srv/backupBACKUP_FILEDIR=$BACKUP_ROOT/filesBACKUP_LOGDIR=$BACKUP_ROOT/logs#当前日期DATE=$(date +%Y%m%d)FILEEXT=$(date +%Y%m%d%H)if [ ! -d $BACKUP_FILEDIR/$DATE ];then mkdir $BACKUP_FILEDIR/$DATEfi######备份#######查询所有数据库DATABASES=$(mysql -u用户名 -h 网络IP -p密码 -e "show databases" | grep -Ev "Database|sys|information_schema")#echo $DATABASES#循环数据库进行备份for db in $DATABASESdo echo echo ----------$BACKUP_FILEDIR/$DATE/${db}_$FILEEXT.sql.gz BEGIN---------- mysqldump -u用户名 -h 网络IP -p密码 \ --default-character-set=utf8 -q --lock-all-tables \ --flush-logs -E -R --triggers -B ${db} \ | gzip > $BACKUP_FILEDIR/$DATE/${db}_$FILEEXT.sql.gz echo ----------$BACKUP_FILEDIR/$DATE/${db}_$FILEEXT.sql.gz COMPLETE---------- echodoneecho "done"cron中设置备份频段,建议再加上远程传输,做成异地备份