Crontab定时启动Supervisor任务

1.  Crontab介绍

  crontab的语法规则格式:

  代表意义 分钟 小时 日期 月份 周 命令
  数字范围 0~59 0~23 1~31 1~12 0~7 需要执行的命令
  周的数字为 0 或 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命令。 ]

2. Supervisor任务

ics@bogon:sudo vim /etc/supervisor.conf.d/getToken
[program:getToken]
command=/usr/bin/python3  /opt/center-service/token/getToken.py
directory=/opt/center-service/token
autostart=true
user=ics
autorestart=true
startretries=300
redirect_stderr=true
stdout_logfile=/var/log/supervisor/get_token.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=1
stopasgroup=true
killasgroup=true
priority=4

  supervisor

3. 使用Crontab定时启动Supervisor任务

  1.  新增调度任务的两种方式:   

    1:在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出 '''
    [root@linux-node1 ~]# crontab -e
    */1 * * * * echo "Hello World!"

    2: 直接编辑/etc/crontab 文件'''
    [root@linux-node1 ~]# vim /etc/crontab
    */1 * * * * root echo "test02"

  2. 基本使用

    1.  启动:sudo /etc/init.d/cron start ( service cron start )
    2.  重启:sudo /etc/init.d/cron restart ( service cron restart )
    3.  关闭:sudo /etc/init.d/cron stop ( service cron stop )

 

posted @ 2020-07-21 11:39  darkly  阅读(1721)  评论(0编辑  收藏  举报