cron任務計劃

cron的任務計劃內容

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

  1. at     指定時間點,在未來的時間點一次性的執行某個任務  

  2.   batch  不需要指定時間,但是它也只執行一次,batch的特性是在我們系統裏面控型的時候,自動的選擇這個控型的任務  

  3. at 時間  

  4. at> COMMAND  在at提示符下輸入要執行的命令  

  5. at> Ctrl+d   表示提交  

  6.   指定時間:10:20     10點20分      

  7.        now+3m:從這點開始往後的三分鐘,即3分鐘以後  

  8.   絕對時間:HH:MM,   DD.MM.YY   MM/DD/YY  

  9. at 8:10   指離這一次最近的8:10  

  10.   相對時間:now+#    

  11.        單位:minutes,hours,days,weeks  

  12.        eg:at now+6hours  從這點開始往後的6小時  

  13.   模糊時間:noon,midnight,teatime(下午4點)  

  14. 命令的執行結果:將以郵件的的形式發送給安排任務的用戶  

  15. at -l: 顯示作業的列表 (列表中的a表示隊列)  

  16. at -l = atq  

  17. at -d: 刪除作業  

  18. at -d AT_JOB_ID = artm AT_JOB_ID  

  19. /etc/at.allow: 白名單   寫在這個文件中的用戶都允許使用at

  20. /etc/at.deny:  黑名單   寫在這個文件中的用戶都不允許使用at

  21. 若/etc/at.allow和/etc/at.deny都存在,只有allow允許使用at

  22. 若/etc/at.allow和/etc/at.deny都不存在,只允許root使用at

  23. 若/etc/at.deny爲空或只有/etc/at.allow存在,任何人都可以使用at

二、週期性地執行某任務

  1. 必須能夠實現以服務的方式不停的監控某些腳本或某些任務的執行情況,這時就需要用一些服務來實現,這個服務就叫cron  

  2. cron : 自身是一個不間斷運行的服務 (需運行在一個長期不關機的服務器上)  

  3. anacron:cron的補充,能夠實現讓cron因爲各種原因在過去的時間該執行而爲之行的任務在恢復正常執行一次;  

  4.  cron:  

  5.    系統cron任務  

  6.       定義在/etc/crontab中  

  7.         格式:分鐘  小時  天  月  周  用戶  任務  

  8.    用戶cron任務  

  9.       定義在/var/spool/cron/USERNAME中  

  10.         格式:分鐘  小時  天  月  周  任務  

  11.    時間的有效取值:  

  12.          分鐘:0-59  

  13.          小時:0-23  

  14.          天:1-31  

  15.          月:1-12  

  16.          周:0-7,0和7都表示週日  

  17.    時間通配表示:  

  18.       *:對應的所有有效取值  

  19.             3 * * * *        每小時的第3分鐘執行一次  

  20.             3 * * * 7        每禮拜天的每個小時第3分鐘執行一次  

  21.            13 12 * * *       每天的12:13執行一次  

  22.            13 12 * * * 5     每週五的12:13執行一次  

  23.            13 12 6 7 *       每年的7月6號12點13分執行一次  

  24.        ,;離散時間點  

  25.            10,40 * * * *     每小時的第10分和第40分執行一次  

  26.            10,40 * * * * 2,5 每週二週五的每小時的10分40分執行一次  

  27.        -:連續時間點  

  28.            10 02 * * 1-5     每週從週一到週五的2點10分執行一次  

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

  30.             * */2 * * *      每隔1個小時執行一次  

  31.             */3 * * * *      每3分鐘執行一次  

  32.             01 */2 * * *     每兩小時執行一次    

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

  34. 執行結果將以郵件形式發送給管理員:  

  35.        */3 * * * */bin/cat /etc/fstab &> /dev/null

三、cron的環境變量:cron執行的所有命令都去PATH環境變量指定的路徑下去找

  1. PATH /bin:/sbin/:/usr/bin:/usr/sbin  

  2. vim /etc/crontab  

  3.    SHELL=/bin/bash  

  4.    PATH=/sbin:/bin:/usr/sbin:/usr/bin  

  5.    MAILTO=root  

  6.    HOME=/    

  7. # run-parts     實現運行這個目錄下的每一個腳本  

  8. 01 * * * * root run-parts /etc/cron.hourly  

  9. 02 4 * * * root run-parts /etc/cron.daily  

  10. 22 4 * * 0 root run-parts /etc/cron.weekly  

  11. 42 4 1 * * root run-parts /etc/cron.mouthly  

  12. 用戶任務的管理:  

  13.  crontab  

  14.    -l:列出當前用戶的所有cron任務    

  15.    -e:編輯  

  16.      eg: crontab -e  

  17.          編輯內容:*/3 * * * * /bin/echo "how are you?"

  18.    -r:移除所有任務  

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

  20.      eg:crontab -u hadoop -e  

  21.          編輯內容:*/3  * * * * /bin/echo "how are you?"

  22.          然後 ls /var/spool/cron/  就可顯示hadoop  

  23.          最後su - hadoop 執行crontab -l 就可顯示*/3  * * * * /bin/echo "how are you?"

四、cron的補充anacron

  1.    最小操作單位是天,最多隻能堅持到每天任務、每週任務和每月任務  

  2. vim /etc/anacrontab  

  3. SHELL=/bin/sh    --指定解釋器爲bash  

  4. PATH=/sbin:/bin:/usr/sbin:/usr/bin  --爲任務執行指定環境變量  

  5. MAILTO=root      --指定發送郵件的用戶      

  6. 1       65    cron.daily        run-parts /etc/cron.daily        

  7. 7       70    cron.weekly       run-parts /etc/cron.weekly      

  8. 30      75    cron.monthly      run-parts /etc/cron.monthly      

  9. 以上三列從左往右四個字段分別代表的含義:    

  10. 時間間隔:執行任務的時間間隔,單位爲天(周、月)  

  11. 等待時間:在時間間隔到期後,如果任務沒有順利執行,則會等待此處設置的時間,然後再次進行嘗試執行    

  12. 任務標識:有關此任務的說明,它可包括任何非空格的字符(/除外),通常都用在anacron信息中或是此任務的時間戳文件名    

  13. 命令:實際執行的任務    

  14. 注意:無論是cron還是anacron必須確保cron服務一定得執行  

  15.       service crond status  

  16.       service anacron status


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章