Linux crontab

在linux平臺上如果需要實現任務調度功能可以編寫cron腳本來實現。

以某一頻率執行任務

linux缺省會啓動crond進程,crond進程不需要用戶啓動、關閉。

crond進程負責讀取調度任務並執行,用戶只需要將相應的調度腳本寫入cron的調度配置文件中。

cron的調度文件有以下幾個:

crontab

cron.d

cron.daily

cron.hourly

cron.monthly

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

收穫:可以把經常要做的一些事放到其中,簡化工作量,如每週一檢查服務器的運行狀態,查看報告,殺掉一些進程等等……
 

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