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天前的一个文件。