Linux中任務的定時執行

2021-04-30 10:50:33 字數 1526 閱讀 6340

語法:

crontab [-e [username]|-l [username]|-r [username]|-v [username]|file ]

說明:

crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必須要有其許可權(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。

引數:-e [username]: 執行文字編輯器來設定時程表,內定的文字編輯器是 vi,如果你想用別的文字編輯器,則請先設定 visual 環境變數來指定使用那個文字編輯器(比如說 setenv visual joe)

-r [username]: 刪除目前的時程表

-l [username]: 列出目前的時程表

-v [username]:列出使用者cron作業的狀態

時程表的格式如下:

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示乙個月份中的第幾日,f4 表示月份,f5 表示乙個星期中的第幾天。program 表示要執行的程式。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推

使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。

由於unix版本不一樣,所以部分語法有差別,例如在hp unix aix 中設定間隔執行如果採用*/n 方式將出現語法錯誤,在這類unix中 ,間隔執行只能以列舉方式,詳請見例子。

例子:

crontab -l:列印當前使用者的crontab cronfile。

crontab -e:編輯當前使用者的crontab cronfile。

注意:

crontab在執行指定命令時,並不會載入該使用者的使用者環境。如需要使用該使用者的環境變數應該在root許可權下新增如下命令。

0 6 * * 1,2,3,4,5 su - ut1 -c "/home/ut1/release/online/onlinebuild.sh clean"

解釋:在每個星期1-5的早上6點,以ut1使用者執行引號內命令。

當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之後加上 > /dev/null 2>&1 即可。

linux定時執行任務

全域性配置檔案 crontab在 etc目錄下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五個目錄和crontab,cron.deny二個檔案。cron.daily是每天執行一次的job cron.weekly是每個星期執行一次的...

定時執行任務

在windows上,使用configuration task scheduler 任務計畫程式 task scheduler library 任務計畫程式庫 create task.或者 control panel scheduled tasks add a scheduled task.在linu...

定時執行任務

spring中可以通過配置方便的實現週期性定時任務管理,這需要用到以下幾個類 org.springframework.schedu ling.quartz.methodinvokingjobdetailfactorybean 配置需要排程的bean的某個方法 org.springframework....