读书人

crontab支配

发布时间: 2013-06-25 23:45:41 作者: rapoo

crontab调度

?

文章先发布在我的个人博客:http://coderbee.net?? ,因为对wordpress不熟悉,博客还没整好。

?

调度的基本格式
*    *     *    *     *       cmd分  时    日   月    周      命令第1列表示分钟  0 - 59,每分钟用 * 或者 */1表示。第2列表示小时  0 - 23,0表示0点。第3列表示日期 1 - 31第4列表示月份  1 - 12第5列表示星期 0 - 6, 0表示星期日第6列是要运行的命令

月和周的属性值还可以用相应英语单词的前3个字母来表示,如jan表示一月,mon-wen表示周一到周三。

特殊符号:

逗号,来分隔多个时间值,- 表示一个时间范围,*表示该属性的所有取值,是否有效取决于相关属性的值。

/n代表每隔n个时间单位的意思,*/5表示每隔5个单位,1-10/2表示1至10之间每隔2个时间单位,也就是1,3,5,7。

如果时属性指定了具体值,而分属性是*则表示整点。

注意:因为日期属性与周属性都表示某一天,两者之间的关系是比较微妙的。

如果两个属性都是*,当然是按每天调度。如果两个属性中有一个是具体的,如0-3,另一个是*,则按具体的属性调度,*不再表示所有取值。如果两个属性都是具体值,则按两个规则调度,都有效。举例
1  0  *  *  *  cmd                   每天00:01执行cmd*/5  *  *   *   *   cmd             每隔5分钟执行cmd30  4  1,15, 28  *  *  cmd        每月1,15,28号4:30执行cmd20   3   *   *   1-5  cmd           每周一至五 3:20执行cmd30  4  1,15  *  1-3  cmd           每月1,15号以及每周一到三 4:30执行cmd0  23-6/2,12  *  *  *  cmd       每天23-6点每隔2小时及12时执行cmd
crontab

使用者:所有用户。
使用方式:

crontab  file  [-u user]      用指定的文件替代指定用户(如果有权限)目前的 crontab,crontab  -  [-u  user]        用标准输入替代指定用户(如果有权限)目前的 crontab,corntab -l  [user]            列出用户目前的crontabcorntab -e  [user]            编辑用户目前的crontabcorntab -r  [-i]  [user]      删除用户目前的crontab,-i 选项表示删除前需要确认。

crontab 的文件格式: 分 时 日 月 周 命令
命令被送入sh执行,这个shell只有 USER, HOME, SHELL这个三个环境变量。

用户提交的crontab是由cron守护进程执行的。

cron

是一个守护进程,用于执行用户提交的crontab调度命令。一般只有root用户才能执行cron和查看其他用户的调度命令。

一些与调度有关的文件:

/etc/crontab 存放系统运行的调度程序。/etc/cron.deny 表示不能使用crontab 命令的用户。/etc/cron.allow 表示能使用crontab的用户。
如果上面两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。每个用户提交的crontab调度都存放在/var/spool/cron/crontabs/目录下在与用户名同名的文件里。

?

?

?

读书人网 >操作系统

热点推荐