CentOS Linux使用crontab執行定時任務詳解

edgdvcyz發表於2016-11-26
安裝crontab:
yum install crontabs
說明:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
檢視crontab服務狀態:service crond status
手動啟動crontab服務:service crond start
檢視crontab服務是否已設定為開機啟動,執行命令:ntsysv
加入開機自動啟動:
chkconfig crond on
1,crontab命令
功能說明:設定計時器。
語  法:crontab [-u <使用者名稱稱>][配置檔案] 或 crontab [-u <使用者名稱稱>][-elr]
補充說明:cron是一個常駐服務,它提供計時器的功能,讓使用者在特定的時間得以執行預設的指令或程式。只要使用者會編輯計時器的配置檔案,就可以使 用計時器的功能。其配置檔案格式如下:
Minute Hour Day Month DayOFWeek Command
參  數:
-e  編輯該使用者的計時器設定。
-l  列出該使用者的計時器設定。
-r  刪除該使用者的計時器設定。
-u<使用者名稱稱>  指定要設定計時器的使用者名稱稱。
2,crontab 格式
基本格式 :
* *  *  *  *  command
分 時 日 月 周  命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列 表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
crontab檔案的一些例子:
30 21 * * * /etc/init.d/nginx restart
每晚的21:30重啟 nginx。
45 4 1,10,22 * * /etc/init.d/nginx restart
每月1、 10、22日的4 : 45重啟nginx。
10 1 * * 6,0 /etc/init.d/nginx restart
每週六、週日的1 : 10重啟nginx。
0,30 18-23 * * * /etc/init.d/nginx restart
每天18 : 00至23 : 00之間每隔30分鐘重啟nginx。
0 23 * * 6 /etc/init.d/nginx restart
每星期六的11 : 00 pm重啟nginx。
* */1 * * * /etc/init.d/nginx restart
每一小時重啟nginx
* 23-7/1 * * * /etc/init.d/nginx restart
晚上11點到早上7點之間,每 隔一小時重啟nginx
0 11 4 * mon-wed /etc/init.d/nginx restart
每月的4號與每週一到週三 的11點重啟nginx
0 4 1 jan * /etc/init.d/nginx restart
一月一號的4點重啟nginx
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20
每半小時同步一下時間

相關文章