Debian MySQL 定时自动备份的脚本

Debian MySQL 定时自动备份的脚本 脚本代码:

#!/bin/sh  

LOG=/var/log/mysql-backup.log  
# mysql db info  
USER_ROOT=XXXXXX  
USER_PWD=XXXXXXX  
# mysql data stored dir  
TODAY=`date +%F`  
STOREDIR=/mnt/tf-card/mysql-back/$TODAY  
mkdir $STOREDIR  
echo "*** PATH:$STOREDIR mysql-backup ***" >> $LOG  
# delete overtime backup files  
rm -rf /mnt/tf-card/mysql-back/$(date +%F --date='15 days ago')  
# backup mysql data file  
mysqldump -u$USER_ROOT --password=$USER_PWD --databases my_yd_net --lock-all-tables --flush-logs |gzip>$STOREDIR/my_yd_net.sql.gz  

代码说明:

创建脚本:nano /etc/cron.daily/mysql-backup

增加执行权限:chmod +x /etc/cron.daily/mysql-backup
创建备份文件根目录:mkdir /mnt/tf-card/mysql-back/

解释:此脚本每天会生成一个备份目录,/mnt/tf-card/mysql-back/yyyy-mm-dd/xxxx.sql.gz,并持保留15天内的数据,并对导出的sql文件用gzip压缩

查看执行时间:cat /etc/crontab

目录可自行修改,mysql的连接帐号USER_ROOT与USER_PWD自行修改;
“# backup mysql data file”这个部分的语句下面可以添加多条 mysqldump 备份语句,一次备份多个库。
对于超过15天的数据处理:每天会尝试删除一次第15天前的一个文件。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。