定时备份MySQL数据库

备份脚本

假设/data/backup为备份目录(只保留最近一份);/data/backup/archive为归档目录;

#!/bin/bash
cd /data/backup
mv DB_* /data/backup/archive
NOW=$(date +”%Y%m%d_%H%M%S”)
FILE=DB_$NOW.sql.gz
mysqldump -hlocalhost -uro -pro quickstart | gzip > $FILE

设定cron定时

crontab -e

0 */2 * * * /data/backup/backup.sh

表示每两个小时的整点备份数据。

也可以设为每天的固定时间

0 6,20 * * * /test.sh

表示6点整和20点整执行

15,45 8-23 * * * /test.sh

表示8-23点之间分钟数为15和45的时候执行。