一.定时器
crontab 命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab 文件来保存调度信息。可以使用它运行任意一个shell脚本或某个命令。
二.crontab命令
1.作用:用于生成cron进程所需要的crontab文件
2.crontab的命令格式
# crontab -e
3.使用编辑器编辑当前的crontab文件。
4.crontab文件格式
- minute hour day-of-month month-of-year day-of-week commands
- 分< >时< >日< >月< >星期< >要运行的命令 < >表示空格
- 分钟 小时 天 月 星期 命令/脚本
其中
- Minute 一小时中的哪一分钟 [0~59]
- hour 一天中的哪个小时 [0~23]
- day-of-month 一月中的哪一天 [1~31]
- month-of-year 一年中的哪一月 [1~12]
- day-of-week 一周中的哪一天 [0~6] 0表示星期天
- commands 执行的命令
三.书写注意事项
- 全都不能为空,必须填入,不知道的值使用通配符*表示任何时间
- 每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔。
- 命令应该给出绝对路径
- 用户必须具有运行所对应的命令或程序的权限
四.如何使用crontab 运行多个任务:
方法1:在crontab -e 里 写多个
输入命令 crontab –e
敲回车
![db63a5da256741129a737534474573cc.png](https://i-blog.csdnimg.cn/blog_migrate/cb253cea2b028e64e1f6b7923d4b6cd9.jpeg)
crontab –e
开始编写任务:
![b182397038a5ce26c32a00b224bf929c.png](https://i-blog.csdnimg.cn/blog_migrate/32ac5bce8e4a49c62c2d1c8fa119db47.jpeg)
开始编写任务
方法2: 把所有的任务,写入到一个可执行的文件
再在crontab -e里面配置执行任务
![c97f2eda2c459a3e1cc653999644f5b0.png](https://i-blog.csdnimg.cn/blog_migrate/739971640357b1636524b6fbf6cbd235.jpeg)
执行任务
五.示例:
a.4点备份
0 4 * * *
b.每周二,周五,下午6点 的计划任务
0 18 * * 2,5
c.1到3月份,每周二周五,下午6点的计划任务
0 18 * 1-3 2,5
d.周一到周五下午,5点半提醒学生15分钟后关机
30 17 * * 1-5 /usr/bin/wall < /etc/issue45 17 * * 1-5 /sbin/shutdown -h now
e.学校的计划任务, 12点14点,检查apache服务是否启动
*/2 12-14 * 3-6,9-12 1-5
f.再添加一个备份,把/etc目录备份到/backup下,然后把错误的情况也记录下来,正确的文件都丢到/dev/null下,看不见(相当于一个黑洞)
*/2 12-14 * 3-6,9-12 1-5 /bin/cp -r /etc /backup/etc.20170407 2> /backup/etc.bak.err /dev/null
g.每月 1、1 0、2 2日的4:45运行/apps/bin目录下的backup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
h.每周六、周日的 1 : 10运行一个find命令
10 1 * * 6,0 /bin/find -name "core" -exec rm {} ;
i.在每天 18:00至23 :00之间每隔30分钟运行/apps/bin目录下的dbcheck.sh
0,30 18-23 * * * /apps/bin/dbcheck.sh
j.每星期六的 11:00 pm运行/apps/bin目录下的qtrend.sh
0 23 * * 6 /apps/bin/qtrend.sh