mysql自动备份代码脚本-备份多个数据库
浏览量:1142
把下面的代码保存为backup.sh 保存到/opt/backup/backup.sh
chmod +x backup.sh
# /bin/bash DB_USER="XXXXXXXXX" DB_PASS="XXXXXXXXX" BIN_DIR="/usr/bin" BACK_DIR="/opt/backup/sql" LogFile="$BACK_DIR"/dbbakup.log #日志记录保存的目 DB_NAME="db1" DATE="$DB_NAME-`date +'%Y%m%d-%H%M%S'`" BackNewFile=$DATE.sql $BIN_DIR/mysqldump --opt --force -u$DB_USER -p$DB_PASS $DB_NAME > $BACK_DIR/$DATE.sql echo createFile:"$BackNewFile" >> $LogFile DB_NAME="db2" DATE="$DB_NAME-`date +'%Y%m%d-%H%M%S'`" BackNewFile=$DATE.sql $BIN_DIR/mysqldump --opt --force -u$DB_USER -p$DB_PASS $DB_NAME > $BACK_DIR/$DATE.sql echo createFile:"$BackNewFile" >> $LogFile #-ctime表示创建时间,这里表示删除创建时间为多少天之前的文件,也就是结果只保留多少天的数据 find "/opt/backup/sql/" -ctime +14 -type f -name "*.sql" -print > deleted.txt echo -e "deleteFiles:\n" >> $LogFile #循环删除匹配到的文件 cat deleted.txt | while read LINE do rm -rf $LINE echo $LINE>> $LogFile done echo "---------------------------------------------------"$(date +"%y-%m-%d %H%M%S")"---" >> $LogFile
修改/etc/crontab
#vi /etc/crontab, 添加下面代码
0 04 * * * root /opt/backup/backup.sh #backup databases,每天凌晨4点备份
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。