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 &

浙公网安备 33010602011771号