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 #重启

评论加载中