MySQL社区

标题: 结合mysqldump+cron命令实现定时备份 [打印本页]

作者: kider    时间: 2015-10-19 17:45
标题: 结合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







欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2