Cronjob 快速入門

2021-09-05 08:07:43 字數 2688 閱讀 1265

cronjob – 快速入門

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/*

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

minhour

day/month

month

day/week

execution time 3001

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

01,10,15**

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

:5,10010

*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」為日誌檔案儲存的絕對路徑   

Cronjob 快速入門

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

CronJob刪除ElasticSearch日誌

目前在k8s平台內,通過pod掛載hostpath將程式形成的日誌檔案傳輸儲存到宿主機指定目錄上,然後fluentd根據指定目錄去蒐集日誌檔案 json格式 然後通過呼叫elasticsearch 以下簡稱es 的api將日誌儲存到es中,那麼問題來了,日誌檔案大了怎麼清理?1.每個工作節點上的日誌...

Crontab使用和Cronjob簡介

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