Linux Crontab 安裝使用詳細說明

2021-07-23 21:12:40 字數 3439 閱讀 1581

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 的使用。

這兩個使用控制檔案的格式都是每行乙個使用者。

兩個檔案都不允許空格。

如果使用控制檔案被修改了,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 常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般...