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的乙個指令碼檔案...