kider 发表于 2015-10-19 17:45:54

结合mysqldump+cron命令实现定时备份

写一个备份脚本,然后用Linux的cron命令实现定时触发运行备份脚本来实现定时备份。

先简述下crontab命令:

比如需要在每天凌晨1:30备份某个主机上的所有数据库并压缩dump文件为gz格式,那么可在/etc/crontab配置文件中加入下面代码行:
30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz

前面5个参数分别表示分钟、小时、日、月、年,星号表示任意。date '+%m-%d-%Y'得到当前日期的MM-DD-YYYY格式。


然后有一个完整的Shell脚本备份MySQL数据库:

#vi /backup/backup.sh
#!bin/bash
cd /backup
echo "You are in backup dir"
mv backup* /oldbackup
echo "Old dbs are moved to oldbackup folder"
File = backup-$Now.sql
mysqldump -u user -p password database-name > $File
echo "Your database backup successfully completed"

上面脚本文件保存为backup.sh,并且系统中已经创建两个目录/oldbackup和/backup。每次执行backup.sh时都会先将/backup目录下所有名称为backup开头的文件移到/oldbackup目录。
这只是简单的示意脚本,当然里面你也可以在备份脚本名上加上日期,就不用再移动文件了,具体怎么晚上看自己情况。
为上述脚本制定执行计划如下:
#crontab -e
30 1 * * * /backup.sh
出处:mysqlpub.com , 转载请注明。http://www.mysqlpub.com/thread-59600-1-1.html

页: [1]
查看完整版本: 结合mysqldump+cron命令实现定时备份