2009年10月13日 星期二

Linux下crontab(自動重啟)的格式備忘

[轉] 作者:kaiser 發表日期:2008-05-25

1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:

引用:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:
引用:
crontab -u root -l
再例如,root想刪除fred的cron設置:
引用:
crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:
引用:
crontab -u root -e

進入vi編輯模式,編輯的內容一定要符合下面的格式:

基本格式 :
*  *  *  *  *  command
分 時 日 月  周  命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啟lighttpd 。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重啟lighttpd 。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每週六、週日的1 : 10重啟lighttpd 。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟lighttpd 。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啟lighttpd 。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啟lighttpd

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啟lighttpd

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每週一到週三的11點重啟lighttpd

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啟lighttpd

讓系統每星期日零晨5點01分自動重啟的設置如下:

vi /etc/crontab

在末尾處加上:
01 5 * * 0 root /sbin/reboot

保存退出
:wq

再重啟下crond,讓其生效
/etc/init.d/crond restart

沒有留言: