Crontab语法规则格式

一、crontab的语法规则

 crontab的语法规则格式:

代表意义    分钟      小时    日期      月份     周      命令
数字范围    0~59    0~23    1~31    1~12    0~7    需要执行的命令
周的数字为 0 或 7 时,都代表“星期天”的意思。

* * * * * user-cmd
 
分 时 日 月 周 user-cmd
 
 
字段  说明
1  分钟(0-59)
2  小时(2-24)
3  日期(1-31)
4  月份(1-12;或英文缩写Jan、Feb等)
5  周几(0-6,0为周日;或单词缩写Sun、Mon等)
6  用户名(执行命令时以此用户的身份)
7  要执行的命令(路径)

还有一些辅助的字符,大概有下面这些:

特殊字符       代表意义
*(星号)       代表任何时刻都接受的意思。举例来说,0 12 * * * command 日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号)       代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号)       代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思
/n(斜线)     那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:*/5 * * * * command用*与/5来搭配,也可以写成0-59/5,意思相同


1.每分钟定时执行一次规则:
每1分钟执行: */1 * * * *或者* * * * *
每5分钟执行: */5 * * * *

2.每小时定时执行一次规则:
每小时执行: 0 * * * *或者0 */1 * * *
每天上午7点执行:0 7 * * *
每天上午7点10分执行:10 7 * * *

3.每天定时执行一次规则:
每天执行 0 0 * * *

4.每周定时执行一次规则:
每周执行 0 0 * * 0

5.每月定时执行一次规则:
每月执行 0 0 1 * *

6.每年定时执行一次规则:
每年执行 0 0 1 1 *

7.其他详细的例子
5 * * * * 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令]

二、crontab常用操作

查看cron的运行状态
service cron status
 
列出crontab文件
crontab -l
 
编辑crontab文件
crontab -e
 
查看crontab的日志 //查看最新的100条日志
 
tail -100 /var/log/cron

三、crontab日志

crontab的日志比较简单,当然也可以将每条 crontab中的任务增加自己的日志,有利于查找执行失败原因0

0 6 * * * /root/script/1.sh >> /root/for_crontab/1.log 2>&1    //把错误输出和标准输出都输出到1.log中             
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?