快速学习Linux-shell脚本应用
原创
©著作权归作者所有:来自51CTO博客作者wx5d0241bb88268的原创作品,请联系作者获取转载授权,否则将追究法律责任
shell脚本应用
需求: 每天晚上凌晨2点开始对数据库进行数据备份到/backup/目录下,并且只保留7天的备份数据
定时任务
概述:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
格式
[minute] [hour] [day] [month] [week] [command]
minute: 区间为 0 – 59
hour: 区间为0 – 23
day: 区间为1 – 31
month: 区间为1 – 12.
week: 区间为0 – 7. 周日可以是0或7.
command:需要定时执行的命令,也可以是一个脚本文件
示例
1.每天凌晨过一分钟,执行任务。
1 0 * * * command
2. 每个工作日(Mon – Fri) 11:59 都进行备份作业。
59 11 * * 1,2,3,4,5 command
下面例子与上面的例子效果一样:
59 11 * * 1-5 command
3,每个月4号和10号10点钟运行
0 10 4,10 * * command
4. 每5分钟运行一次命令
*/5 * * * * command
5,每两个小时运行一次命令
0 */2 * * * command
选项
crontab [需要执行的文件]
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
数据库定时备份
需求: 每天晚上凌晨2点开始对数据库进行数据备份到/backup/目录下,并且只保留7天的备份数据
定时表达式:0 2 * * *
时间定义:DATE=$(date +%Y%m%d)
数据库备份:mysqldump -uroot -padmin p2p > /backup/p2p$DATE.sql
查询文件:find /backup -mtime +7 -name *.sql | xargs rm -rf