mysql备份脚本例子 一周轮动

#!/bin/sh
[ -d /backup ] || mkdir /backup
chmod 777 -R /backup

#GROUP_CONCAT函数用于将多个字符串连接成一个字符串,在拼接成字符串时就会存在拼接长度的问题,mysql 默认的拼接最大长度为1024 个字节,由于1024个字节会出现不够用的情况,所以有时需要去根据情况进行修改
mysql -Dtestdb -Bse "SET GLOBAL group_concat_max_len=5120"

#备份特定的表数据  `date '+%w'` 是按一周7天每天一个备份,循环覆盖
mysqldump -uroot -proot -h127.0.0.1 testdb --tables $(mysql -Dtestdb -Bse "SELECT GROUP_CONCAT(TABLE_NAME Separator ' ') FROM INFORMATION_SCHEMA.TABLES WHERE not(TABLE_NAME like 'SystemEvents%') and TABLE_SCHEMA =  'testdb'") > /backup/`date '+%w'`.test.db

#备份整个库

mysqldump testdb -uroot -proot -h127.0.0.1 > /backup/`date '+%w'`.test.db

#定时任务 crontab -e

0 1 * * * /usr/bin/backup.sh >/dev/null 2>& 1 &

posted @ 2021-11-18 14:11  新生代农民工阿南  阅读(66)  评论(0)    收藏  举报