crontab命令

本文深入解析Linux cron定时任务的配置方式,包括允许使用的账号、禁止使用的账号、任务执行的时间段设定,以及如何查看、编辑和删除定时任务。重点介绍了cron.allow、cron.deny文件的作用,以及使用cron命令时的时间格式、特殊字符和时间表达方式。
  • /etc/cron.allow
    将可以使用 crontab 的帐号写入其中,若不在这个文件内的使用者则不可使用 crontab;
  • /etc/cron.deny
  • 当使用者使用 crontab 这个命令来创建工作排程之后,该项工作就会被纪录到 /var/spool/cron/ 里面去了,而且是以帐号来作为判别的喔
  • 代表意义分钟小时日期月份命令
    数字范围0-590-231-311-120-7呀就命令啊

    比较有趣的是那个『周』喔!周的数字为 0 或 7 时,都代表『星期天』的意思!另外, 还有一些辅助的字符,大概有底

    特殊字符代表意义
    *(星号)代表任何时刻都接受的意思!举例来说,范例一内那个日、月、周都是 * , 就代表著『不论何月、何日的礼拜几的 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 ,相同意思!

    [dmtsai@www ~]$ crontab -l
    59 23 1 5 * mail kiki < /home/dmtsai/lover.txt
    */5 * * * * /home/dmtsai/test.sh
    30 16 * * 5 mail friend@his.server.name < /home/dmtsai/friend.txt
    
    # 注意,若仅想要移除一项工作而已的话,必须要用 crontab -e 去编辑~
    # 如果想要全部的工作都移除,才使用 crontab -r 喔!
    [dmtsai@www ~]$ crontab -r
    [dmtsai@www ~]$ crontab -l
    no crontab for dmtsai
    
  • [root@www ~]# cat /etc/crontab
    SHELL=/bin/bash                     <==使用哪种 shell 介面
    PATH=/sbin:/bin:/usr/sbin:/usr/bin  <==运行档搜寻路径
    MAILTO=root                         <==若有额外STDOUT,以 email将数据送给谁
    HOME=/                              <==默认此 shell 的家目录所在
    
    # run-parts
    01  *  *  *  *   root      run-parts /etc/cron.hourly   <==每小时
    02  4  *  *  *   root      run-parts /etc/cron.daily    <==每天
    22  4  *  *  0   root      run-parts /etc/cron.weekly   <==每周日
    42  4  1  *  *   root      run-parts /etc/cron.monthly  <==每个月 1 号
    分 时 日 月 周 运行者身份  命令串
    
    [root@www ~]# vi /etc/crontab
    1,6,11,16,21,26,31,36,41,46,51,56 * * * * root  CMD1
    2,7,12,17,22,27,32,37,42,47,52,57 * * * * root  CMD2
    3,8,13,18,23,28,33,38,43,48,53,58 * * * * root  CMD3
    4,9,14,19,24,29,34,39,44,49,54,59 * * * * root  CMD4
    
     
    • 周与日月不可同时并存

    另一个需要注意的地方在於:『你可以分别以周或者是日月为单位作为循环,但你不可使用「几月几号且为星期几」的模式工作』。 这个意思是说,你不可以这样编写一个工作排程:

    30 12 11 9 5 root echo "just test"   <==这是错误的写法
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值