linux定時任務-crontab

crontab -e

#此時會進入vi的編輯界面讓你編輯工做。注意到,每項工做都是一行。 code

表明意義 分鐘 小時 日期 月份 命令

數字範圍crontab

0~59 0~23 1~31 1~12 0~7 就命令啊

 

周的數字爲0或7時,都表明「星期天」的意思。另外,還有一些輔助的字符,大概有下面這些:table

特殊字符   表明意義
*(星號) 表明任什麼時候刻都接受的意思。舉例來講,範例一內那個日、月、周都是*,就表明着不論何月、何日的禮拜幾的12:00都執行後續命令的意思。
,(逗號)

表明分隔時段的意思。舉例來講,若是要執行的工做是3:00與6:00時,就會是:語法

0 3,6 * * * commandcommand

時間仍是有五列,不過第二列是 3,6 ,表明3與6都適用英文

-(減號)

 表明一段時間範圍內,舉例來講,8點到12點之間的每小時的20分都進行一項工做:tab

20 8-12 * * * command文件

仔細看到第二列變成8-12.表明 8,9,10,11,12 都適用的意思時間

/n(斜線)

 那個n表明數字,便是每隔n單位間隔的意思,例如每五分鐘進行一次,則:view

*/5 * * * * command

用*與/5來搭配,也能夠寫成0-59/5,意思相同

爲當前用戶建立cron服務

1.  鍵入 crontab  -e 編輯crontab服務文件

      例如 文件內容以下:

0,59 12,23 * * * /view/xinhuaCDR/CDR_EXAM_REPORT_ZY.sh &>> /view/xinhuaCDR_log/CDR_EXAM_REPORT_ZY.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_IN_ORDER.sh &>> /view/xinhuaCDR_log/CDR_IN_ORDER.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_INP_SUMMARY_DIAG.sh &>> /view/xinhuaCDR_log/CDR_INP_SUMMARY_DIAG.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_LAB_REPORT_DETAIL_ZY.sh &>> /view/xinhuaCDR_log/CDR_LAB_REPORT_DETAIL_ZY.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_LAB_REPORT_ZY.sh &>> /view/xinhuaCDR_log/CDR_LAB_REPORT_ZY.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_PAT_ADT.sh &>> /view/xinhuaCDR_log/CDR_PAT_ADT.log
0,59 12,23 * * * /view/xinhuaCDR/CDR_PATIENT_INFO.sh &>> /view/xinhuaCDR_log/CDR_PATIENT_INFO.log

 2. 查看該用戶下的crontab服務是否建立成功, 用 crontab  -l 命令  

-----------------------------------------------------------------------------------------------------------------------------

crontab命令

      cron服務提供crontab命令來設定cron服務的,如下是這個命令的一些參數與說明:

      crontab -u //設定某個用戶的cron服務,通常root用戶在執行這個命令的時候須要此參數  
  crontab -l //列出某個用戶cron服務的詳細內容
  crontab -r //刪除沒個用戶的cron服務
  crontab -e //編輯某個用戶的cron服務

cron文件語法:

      分     小時    日       月       星期     命令

      0-59   0-23   1-31   1-12     0-6     command     (取值範圍,0表示週日通常一行對應一個任務)

     記住幾個特殊符號的含義:

         「*」表明取值範圍內的數字,
         「/」表明」每」,
         「-」表明從某個數字到某個數字,
         「,」分開幾個離散的數字

舉例以下

*       *         *     *     ls             指定每小時的第5分鐘執行一次ls命令
    5       *         *     *     ls             指定天天的 5:30 執行ls命令 
    7       8         *     *     ls             指定每個月8號的7:30分執行ls命令
    5       8         6     *     ls             指定每一年的6月8日5:30執行ls命令 
    6       *         *     0     ls             指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1, 以此類推,
                                     也能夠用英文來表示,sun表示星期天,mon表示星期一等。]
    3       10,20     *     *     ls             每個月10號及20號的3:30執行ls命令[注:「,」用來鏈接多個不連續的時段]
    8-11    *         *     *     ls             天天8-11點的第25分鐘執行ls命令[注:「-」用來鏈接連續的時段]
*/15   *       *         *     *     ls             每15分鐘執行一次ls命令 [即每一個小時的第0 15 30 45 60分鐘執行ls命令 ]
    6       */10      *     *     ls             每月中,每隔10天6:30執行一次ls命令[即每個月的一、十一、2一、31日是的6:30執行一次ls 命令。 ]
                                              天天7:50以root 身份執行/etc/cron.daily目錄中的全部可執行文件
    7       *         *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts參數表示,執行後面目錄中的全部可執行文件。 ]
相關文章
相關標籤/搜索