網頁

2013年4月11日 星期四

排程指令crond


  • 在使用排程crontab前,你必須確保計劃任務的相關服務已經正確啟動。也就是crond,atd這2個服務
    • chkconfig --level 35 crond on
    • chkconfig --list crond
    • chkconfig --level 35 atd on
    • chkconfig --list atd
    • service crond start
    • service atd start
  • 如果要禁用某些用戶的計劃任務
    • 在/etc/cron.denyt檔中加入需要禁用的用戶名。
  • 電腦在很多的時侯需要週期性的執行某一項目工作,這時侯你就需要使用到crond的排程指令了。
  • 排程設定檔的寫法
    • 在啟動時間格式為:Minute Hour Day Month DayOfWeek Command
    • 如遇到不指定的時間單位你可以用*來表示
      • 1 * * * * program -a -b -c
        • 上列為每分鐘執行某工作
      • 20 4 * * *  program 
        • 上列為每4點20分的時侯執行某工作
      • 1 0 8 sep * program
        • 每年九月8日的0點1分時
      • 9 4 * * sun program
        • 每個星期日的不限日4時9分時執行
      • 20 2 1,15 * * program
        • 每月的1或15日2點20分執行
      • 25 1-4 * * * program
        • 每日的1至4點的25分執行
      • */10 * * * * program
        • 每十分鐘執行一次
      • 35 5 */10 * * program
        • 每隔十日的5點35分執行
  • /etc/contab的檔案內容
    • SHELL =/bin/bash                  #指定執行排程工作所使用的shell
    • PATH=/sbin:/bin:/user/sbin:/usr/bin  #指定指令搜尋的路徑
    • MAILTO=root     #指定輸出的結果,郵寄給root帳號
    • HOME=/        #指定根目錄
    • 01 * * * * root run-parts /ect/cron.hourly
      • 每個小時的第1分鐘以root帳號執行/etc/cron.hourly目錄中的所有執行檔
      • run-parts指令會執行隨後目錄中的所有執行檔
  • crond排程指偷會每小時、每天、每週及每月執行一次/etc/hourly,/etc/daily,/etc/monthly目錄中的所有執行檔
  • 個人的排程工作
    • 你可以透過crontab -e指令來編輯自已的排程設定檔,並在此檔加入要定期執行的工作,以下為canred使用者編輯自已的排程設定檔
      • crontab -u canred
        • 指定查看canred帳號的計劃任務
      • crontab -e
      • crontab -l
        • 查詢自已所有的排程工作
      • crontab -r 
        • 刪除自已所有的排程工作,在使用前一定要特別的注意哦…因為一不小心就全刪除了。
    • 一般狀態下排程工作的設定檔會被儲存在/var/spool/cron目錄下,以帳號名稱為檔名的設定檔。
  • 系統管理員是可以編輯其他人員的排程工作哦…
    • crontab -e -u canred
      • 使用u選項來指定編輯的帳號
    • Default下系統會將用戶提交的計劃任務放在目錄/var/spool/cron/中,並以用戶命名計劃任務文件。
  • 在設定排程的常用輸出結果方式
    • 1 * * * * program >> /home/canred/cron.log
    • 1 * * * * program >> /home/canred/cron.log 2>&1
      • 2>&1表示執行結果及錯誤訊息
    • 1 * * * * program > /dev/null 2>&1
      • /dev/null 是表示不儲存資料,也就是直接放棄啦
  • 備份/還回計劃任務
    • 備份
      • crontab -l > \backup\cron_canred
    • 還原
      • crontabl \backup\cron_canred
  • 系統計劃任務
    • 有4個關鍵的目錄
      • /etc/cron.daily
      • /etc/cron.hourly
      • /etc/cron.monthly
      • /etc/cron.weekly

沒有留言:

張貼留言