2015-10-27 | Linux | Unlock

shell 自动备份mysql并加入定时任务

1.使用mysqldump备份MySQL数据库

新建一个shell文件

touch backup.sh

编辑shell文件

vi backup.sh

输入下列内容:

#!/bin/bash

mysqldump --opt -uuser -ppassword | gzip > /mysqlbackup/mysql`date +%Y-%m-%d_%H%M%S`.sql.gz

#删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据
find /mysqlbackup/ -name "*[1-9].sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
#删除超过3个月的所有备份数据
find /mysqlbackup/ -name "*.sql.gz" -type f -mtime +92 -exec rm -rf {} \; > /dev/null 2>&1

2.修改文件属性,使其可执行

chmod +x /mysqlbackup/backup.sh

3.加入定时任务

编辑/etc/crontab

vi /etc/crontab

添加如下代码:

# m h dom mon dow user command
30 01   * * 0   root    /mysqlbackup/backup.sh

这样表示每个周日的上午1点30分执行shell文件

4.重新启动crond使设置生效

service cron stop #停止
service cron start #启动
/etc/init.d/cron restart #重启

评论加载中