【Linux命令】crontab定时任务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Linux命令】crontab定时任务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3284字,纯文字阅读大概需要5分钟。
内容图文
![【Linux命令】crontab定时任务](/upload/InfoBanner/zyjiaocheng/951/b5410f2e888b4aeebdbd03969dc441ee.jpg)
crontab定时任务
一、简介
通过crontab命令可以在固定的间隔执行系统指令或shell脚本
二、crontab配置文件:
Linux下的任务调度分为两类:系统任务调度和用户任务调度。
Linux系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用crontab 命令。
查看crontab配置文件:
[root@localhost ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
分析:
第一行指定系统使用的shell环境
第二行指定系统执行命令的路径
第三行指定crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户
注意:所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致
三、crontab文件含义
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段
格式如下:minute hour day month week command
minute:代表一小时内的第几分,范围 0-59。
hour:代表一天中的第几小时,范围 0-23。
mday:代表一个月中的第几天,范围 1-31。
month:代表一年中第几个月,范围 1-12。
week:代表星期几,范围 0-7 (0及7都是星期天)。
who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。
command:所要执行的指令。
"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;
"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。
"-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。
","分散的数字(不一定连续),如1,2,3,4,7,9。
四、crontab命令详解
格式:crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
- ? -u user:用于设定某个用户的crontab服务;
- ? file: file为命令文件名,表示将file作为crontab的任务列表文件并载入crontab;
- ? -e:编辑某个用户的crontab文件内容,如不指定用户则表示当前用户;
- ? -l:显示某个用户的crontab文件内容,如不指定用户则表示当前用户;
- ? -r:从/var/spool/cron目录中删除某个用户的crontab文件。
- ? -i:在删除用户的crontab文件时给确认提示。
五、crontab实例
1)每一分钟执行一次command(因cron默认每1分钟扫描一次,因此全为*即可)
* * * * * command
2)每小时的第3和第15分钟执行command
3,15 * * * * command
3)每天上午8-11点的第3和15分钟执行command:
3,15 8-11 * * * command
4)每隔2天的上午8-11点的第3和15分钟执行command:
3,15 8-11 */2 * * command
0 0 */2 * * command //每隔两天凌晨执行command
5)每个星期一的上午8点到11点的第3和第15分钟执行command
3,15 8-11 * * 1 command
6)每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
7)每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
8)每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
9)每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
10)每一小时重启smb
* */1 * * * /etc/init.d/smb restart
11)晚上11点到早上7点之间,每隔一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart
12)每月的4号与每周一到周三的11点重启smb
0 11 4 * mon-wed /etc/init.d/smb restart
13)每小时执行/etc/cron.hourly目录内的脚本
0 1 * * * root run-parts /etc/cron.hourly
内容总结
以上是互联网集市为您收集整理的【Linux命令】crontab定时任务全部内容,希望文章能够帮你解决【Linux命令】crontab定时任务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。