您的位置:首页 > 数据库 > MySQL

mysqldump 对Mysql数据库 每天完全备份执行脚本

2016-04-27 17:15 561 查看
备份思想:每天凌晨进行全备份, 保留最近一周的, 之前保留间隔10天的, 保留3个月以内的

创建 backup_mysql.sh 文件

mysqldump -h localhost -u root  -p123 test > /opt/data/mysqlbak/test_`date +%Y%m%d`.sql

find /opt/data/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;

find /opt/data/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;

创建定时执行任务

crontab - e 命令编辑执行任务

0 4 * * *  /home/backup_mysql.sh

wq 保存, 每天凌晨4点执行备份脚本

以下是 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

minute:区间为0–59;
hour:区间为0–23;
day-of-month:区间为0–31;
month:区间为1–12;1是1月,12是12月;
Day-of-week:区间为0–6;周日是0。

除了数字还有以下几个特殊的符号需要特殊说明:
*
:代表所有的取值范围内的数字;
/
:代表每的意思,”*/5″表示每5个单位;
-
:代表从某个数字到某个数字;
,
:分开几个离散的数字。
以下举几个例子说明问题:
每五分钟执行    */5 * * * * /home/jelly/test.sh
每小时执行      0 * * * * /home/jelly/test.sh
每天执行        0 0 * * * /home/jelly/test.sh
每周执行        0 0 * * 0 /home/jelly/test.sh
每月执行        0 0 1 * * /home/jelly/test.sh
每年执行        0 0 1 1 * /home/jelly/test.sh

每天早上6点     0 6 * * * /home/jelly/test.sh
每两个小时      0 */2 * * * /home/jelly/test.sh

晚上11点到早上8点之间每两个小时
0 23-7/2 * * * /home/jelly/test.sh

1月1日早上4点
0 4 1 1 * /home/jelly/test.sh


4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息