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 )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM