crontab命令常見於unix和linux的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於「crontab」檔案中,以供之後讀取和執行。通常,crontab儲存的指令被守護程序啟用。crond 常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。
一、安裝
[root@centos ~]# yum -y install vixie-cron
[root@centos ~]# yum -y install crontabs
說明:vixie-cron 軟體包是 cron 的主程式;
crontabs 軟體包是用來安裝、卸裝、或列舉用來驅動 cron 守護程序的**的程式。
二、配置
cron 是 linux 的內建服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
service crond status //檢視crontab服務狀態
在centos系統中加入開機自動啟動: chkconfig --level 345 crond on
cron 的主配置檔案是/etc/crontab,它包括下面幾行:
shell=/bin/bash
path=/sbin:/bin:/usr/sbin:/usr/bin
mailto=root
home=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
前四行是用來配置 cron 任務執行環境的變數。
shell 變數的值告訴系統要使用哪個 shell 環境(在這個例子裡是 bash shell);
path 變數定義用來執行命令的路徑。
cron 任務的輸出被郵寄給 mailto 變數定義的使用者名稱。
如果 mailto 變數被定義為空白字串(mailto=""),電子郵件就不會被寄出。
home 變數可以用來設定在執行命令或指令碼時使用的主目錄。
限制對 cron 的使用:
/etc/cron.allow和/etc/cron.deny檔案被用來限制對 cron 的使用。
這兩個使用控制檔案的格式都是每行乙個使用者www.linuxidc.com。
兩個檔案都不允許空格。
如果使用控制檔案被修改了,cron 守護程序(crond)不必被重啟。
使用控制檔案在每次使用者新增或刪除一項 cron 任務時都會被讀取。
無論使用控制檔案中的規定如何,root 都總是可以使用 cron。
如果 cron.allow 檔案存在,只有其中列出的使用者才被允許使用 cron,並且 cron.deny 檔案會被忽略。
如果 cron.allow 檔案不存在,所有在 cron.deny 中列出的使用者都被禁止使用 cron。
三、crontab 命令
功能:設定計時器。
語法:crontab[-u 《使用者名稱》][配置檔案] 或 crontab [-u 《使用者名稱》][-elr]
解釋:cron 是乙個常駐服務,它提供計時器的功能,讓使用者在特定的時間得以執行預設的指令或程式。只要使用者會編輯計時器的配置檔案,就可以使 用計時器的功能。其配置檔案格式如下:minute hour day month dayofweek command
引數:-e編輯該使用者的計時器設定。
-l列出該使用者的計時器設定。
-r刪除該使用者的計時器設定。
-u《使用者名稱》 指定要設定計時器的使用者名稱。
格式:
* * * * * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
例子:
上面的例子表示每晚的21:30重啟apache。
上面的例子表示每月1、10、22日的4 : 45重啟apache。
上面的例子表示每週
六、週日的1 : 10重啟apache。
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。
上面的例子表示每星期六的11 : 00 pm重啟apache。
每一小時重啟apache
晚上11點到早上7點之間,每隔一小時重啟apache
每月的4號與每週一到週三的11點重啟apache
一月一號的4點重啟apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小時同步一下時間
Linux crontab 安裝及命令 小記
crontab命令常見於unix和linux的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。通常,crontab儲存的指令被守護程序啟用。crond 常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般...
Linux Crontab 安裝使用詳細說明
crontab命令常見於unix和linux的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。通常,crontab儲存的指令被守護程序啟用。crond 常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般...
Linux Crontab 安裝使用詳細說明
crontab命令常見於unix和linux的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。通常,crontab儲存的指令被守護程序啟用。crond 常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般...