crontab學習筆記

bitifi發表於2015-10-09
轉載地址:http://liguxk.blog.51cto.com/129038/123555

在linux平臺上如果需要實現任務排程功能可以編寫cron指令碼來實現。
以某一頻率執行任務
linux預設會啟動crond程式,crond程式不需要使用者啟動、關閉。 
crond程式負責讀取排程任務並執行,使用者只需要將相應的排程指令碼寫入cron的排程配置檔案中。 
cron的排程檔案有以下幾個:
  1. crontab
  2. cron.d
  3. cron.daily
  4. cron.hourly
  5. cron.monthly
  6. cron.weekly
如果用的任務不是以hourly monthly weekly方式執行,則可以將相應的crontab寫入到crontab 或cron.d目錄中。
示例: 
每隔一分鐘執行一次指令碼 /opt/bin/test-cron.sh 
可以在cron.d新建指令碼 echo-date.sh 
內容為
*/1 * * * * root  /opt/bin/test-cron.sh
在指定的時間執行任務
也可以透過at命令來控制在指定的時間執行任務
如:
at -f test-cron.sh -v 10:25 
其中-f 指定指令碼檔案, -v 指定執行時間
quote:ea946d690b="lophyxp"]首先用
contab -l >contabs.tmp
匯出contab的配置。
然後編輯contabs.tmp檔案。以一下格式新增一行:
分鐘 小時 天 月 星期 命令
比如
10 3 * * 0,6 hello
就是每週六、週日的3點10分執行hello程式。
15 4 * * 4-6 hello
就是從週四到週六的4點15點執行hello程式。
然後用
contab contabs.tmp
命令匯入新的配置。
一般不建議直接修改/etc/下的相關配置檔案。
啟動cron程式的方法:/etc/init.d/crond start 
開機就啟動cron程式的設定命令:chkconfig --add crond
方法二:
把cron加入到啟動指令碼中:
# rc-update add vixie-cron default
crontab -l #檢視你的任務
crontab-e#編輯你的任務
crontab-r#刪除使用者的crontab的內容
例項講解二:
系統cron設定:/etc/crontab 
    透過 /etc/crontab 檔案,可以設定系統定期執行的任務,當然,要想編輯這個檔案,得有root許可權
0 7   *    *   *    root    mpg123 ~/wakeup.mp3 
分 時 日 月 周
示例:
0 4  * * 0     root emerge --sync && emerge -uD world              #每週日凌晨4點,更新系統 
0 2 1 * *     root   rm -f /tmp/*                                                    #每月1號凌晨2點,清理/tmp下的檔案 
0 8 6 5 *   root     mail  robin < /home/galeki/happy.txt             #每年5月6日給robin發信祝他生日快樂
假如,我想每隔2分鐘就要執行某個命令,或者我想在每天的6點、12點、18點執行命令,諸如此類的週期,可以透過 “ / ” 和 “ , ” 來設定:
*/2   *   *   *   *           root      ...............      #每兩分鐘就執行........ 
0 6,12,18   *   *   *    root      ...............      #每天6點、12點、18點執行........
每兩個小時
0 */2 * * * echo "have a break now." >> /tmp/test.txt
晚上11點到早上8點之間每兩個小時,早上八點
0 23-7/2,8 * * * echo "have a good dream:)" >> /tmp/test.txt
每個月的4號與每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3 command line
1月1日早上4點
0 4 1 1 * command line



自我總結:
/var/spool/cron   下是所有使用者的crontab

每隔兩週執行:
* * */14 * *  command

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30496894/viewspace-1813577/,如需轉載,請註明出處,否則將追究法律責任。