Linux中的任務計劃

 

Linux中的任務計劃

有兩種方式: ide

一、在將來的某個時間點執行一次某任務 spa

咱們能夠用下面兩個命令:atbatch blog

 at 時間                   #指定時間 crontab

 at> CMMAND            #要執行的命令 get

 at>Ctrl+d  #提交任務 it

 

指定時間的方式: io

絕對時間:HH:MM(幾點幾分)、DD.MM.YY(日月年)、MM/DD/YY(月日年) class

相對時間:now+#   如:now+3minutes  即三分鐘後  變量

單位:minuteshoursdaysweeks 配置

模糊時間:noon,midnight,teattime

 

at -l=atq)  顯示當前做業

at -d=atrmAT_JOB_ID     刪除指定做業

 

 

命令的執行結果:將以郵件的形式

 

batch不須要指定時間它會在系統空閒的時候自動執行任務,其餘的都和at相同

2、週期性地執行某任務:

     cron:自身是一個不間斷運行的服務

 anacron:它是cron的補充,可以實現讓cron由於各類緣由在過去的時間該執行而未執行的任務再恢復正常執行一次

cron分爲兩類:  

1)系統cron任務

都定義在/etc/crontab下  格式爲:分鐘 小時 天 月 周 用戶 任務

 

2)用戶cron任務

都定義在/var/spool/cron/USERANME   格式爲:分鐘 小時 天 月 周 任務

時間的有效取值:

分鐘:0-59

小時:0-23

天:1-31

月:1-12

周:0-7,07都表示週日

時間的統配表示:

*:對應的全部有效取值

3 * * * *           #每小時的第三分鐘

3 * * * 7   #每一個週日的每小時第三分鐘

13 12 6 7 *         #每一年的七月六號十二點十三分

,:離散時間點

10,40  * * * *       #每小時的第十分和第四十分

10,40 02 * * 2,5      #每週2、週五的凌晨兩點十分和凌晨四十分

-:表示連續時間點:

10 02 * * 1-5        #每週從週一到週五的凌晨兩點十分

/#:對應取值範圍內每多久一次

*/3 * * * *          #每三分鐘一次

08 */2 * * *         #每兩小時執行一次

10 04 */2 * *        #每兩天執行一次

執行結果將以郵件形式發給管理員:若是不想讓它都發給管理員能夠送到/dev/null 目錄下,如:*/3 * * * * /bin/cat /etc/fstab > /dev/null   錯誤信息發給管理員

*/3 * * * * /bin/cat /etc/fstab &> /dev/null    不管正確錯誤的都不發給管理員

cron的環境變量:cron執行全部命令都去PATH環境變量指定的路徑下去找

cron PATH通常只包含 /bin:/sbin:/usr/bin:/usr/sbin

在腳本中能夠直接定義PATH變量以下圖:

 

用戶任務的管理:

crontab

-l: 列出當前用戶的全部cron任務

-e: 編輯 

-r: 移除全部任務

-u USERNAME: 管理其用戶的cron任務

anacron: 它是對cron的補充,不能替代cron

配置文件/etc/anacrontab

 

相關文章
相關標籤/搜索