Crontab使用和Cronjob簡介

2021-06-06 00:35:07 字數 2891 閱讀 8893

以下為轉貼

cron 是unix, solaris,linux下的乙個十分有用的工具。通過cron指令碼能使計畫任務定期地在系統後台自動執行。這種計畫任務在unix, solaris, linux下術語為cron jobs。 crontab (cron 表)則是用來記錄在特定時間執行的cron的乙個指令碼檔案。

crontab歸結為以下幾點特性:

1.  crontab約束

2. crontab命令

3. 

crontab檔案語法

4. 

crontab示例

5. 

crontab環境設定

6. 

郵件7. 

日誌檔案

8. 

其它1. 

crontab約束

當使用者名稱記錄在檔案/usr/lib/cron/cron.allow時,該使用者的crontab有效。當/usr/lib/cron /cron.allow 檔案不存在時,使用者名稱沒被記錄在/usr/lib/cron/cron.deny檔案中,該使用者的crontab也有效。當只存在/usr/lib /cron/cron.deny且為空時,所有的使用者都可使用crontab。當前兩個檔案都不存在時,只有root使用者可以使用crontab。 deny或allow記錄以每行乙個使用者名稱的形式記錄資訊。

2. 

crontab 命令

export editor=vi ;為crontab檔案指定乙個編輯器。 

crontab  

-e 編輯該使用者的crontab,當指定crontab  

不存在時新建。 

crontab  

-l 列出該使用者的crontab。 

crontab  

-r 刪除該使用者的crontab。 

crontab  

-u《使用者名稱》 

指定要設定crontab的使用者名稱。

3. 

crontab 檔案

crontab語法乙個crontab檔案用五個段來定義:天,日期和時間,和乙個要定期執行的命令**。

*  * 

*  * 

*  command to be executed

-  - 

-  - 

-| |  | 

|  |

|  | 

|  | 

+----- day of week (0 - 6) (sunday=0)

|  | 

|  +------- month (1 - 12)

|  | 

+--------- day of month (1 - 31)

|  +----------- hour (0 - 23)

+------------- min (0 - 59)

所有的值都必須在相應的範圍之內,否則視為無效。在填值區域內可以是*也可以是以」,」分隔的一組值。值可以是乙個資料也可以是用連線符連起來的兩個數(表示範圍)。注:日期的格式可以是星期,也可以是乙個月中的天。假如兩個都有值,則在這兩個時間都會執行。

4. crontab 例項 

下面是crontab檔案中的一行,意思是在每天下午6:30中刪除臨時檔案(臨時檔案存放在/home/someuser/tmp)。 30 

18 * 

* * 

rm /home/someuser/tmp/*

以下我們改變引數的值使其在不同的時間執行:如下表

min

hour

day/month

month

day/week

execution time 30

0

1

1,6,12

*

-- 00:30 hrs  on 1st of jan, june & dec. :

020

*

10

1-5

--8.00 pm every weekday (mon-fri) only in oct.

: 0

0

1,10,15

*

*

-- midnight on 1st ,10th & 15th of month

: 5,10

0

10

*

1

-- at 12.05,12.10 every monday & on 10th of every month

: 注:要是無意間鍵入了沒帶引數的crontab 命令,別control-d退出,這樣會刪掉所有的cronjob。 應該control-c退出.

5. crontab 環境設定

cron其實是在shell(/usr/bin/sh).後台引用使用者程式的命令。

cron預設的shell環境是:

home=user's-home-directory

logname=user's-login-id

path=/usr/bin:/usr/sbin:.

shell=/usr/bin/sh  

使用者希望自己的配置檔案在表或者指令碼的入口直接執行。

6. 禁用郵件預設的cronjobs在執行任務時會給使用者發一封郵件。如果您不需要的話可以通過以下命令關閉。 >/dev/null 2>&1

7. 

生成日誌檔案儲存cronjobs日誌只需作如下設定就可以

30 18 

* * 

* rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log 「/home/someuser/cronlogs/clean_tmp_dir.log」為日誌檔案儲存的絕對路徑

crontab安裝和使用

檢查cronta工具是否安裝 crontab l 檢查crond服務是否啟動 service crond status centoss安裝cron yum install vixie cron yum install crontabs ubuntu安裝cron 安裝 apt get install ...

crontab的安裝和使用

1,安裝並檢查crontab服務 檢查crontab是否安裝 crontab l 檢查crond服務是否啟動 service crond status 2,安裝cron yum install vixie cron yum install crontabs 注意 linux提示no crontab ...

crontab語法和使用示例

linux定時任務一般使用crond服務,系統一般預設安裝有定時任務crond服務 service crond status基本語法 crontab 選項 e 編輯或新增定時任務 l 檢視系統的定時任務 r 刪除當前使用者所有的定時任務 示例 root hadoop103 xiaomao cront...