Ubuntu 計畫任務詳解

2021-06-12 11:33:54 字數 2276 閱讀 6695

一.關於crontab

有些ubuntu 版本,cron是被預設安裝並啟動的。如果沒有啟動,自行設定並啟動(chkconfig\sysv-rc-conf)。配置檔案/etc/crontab:

# m h dom mon dow user command

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

ubuntu呼叫run-parts命令,定時執行四個目錄下的所有指令碼。

/etc/cron.hourly下的指令碼會被每小時執行一次,在每小時的17分時執行。

/etc/cron.daily下的指令碼會被每天執行一次,在每天6點25分執行。

/etc/cron.weekly下的指令碼會被每週執行一次,在每週第7天的6點47分執行。

/etc/cron.monthly下的指令碼會被每月執行一次,在每月1號的6點52分執行。

以上執行時間可自行修改

二.關於shell指令碼

只需要把計畫執行的指令碼放到相應目錄中就可以了。不過需要注意以下兩點:

1.指令碼檔案的名稱不能包含「.」符號。你可以寫成「im-alarm」,但不要寫成「im-alarm.sh」。(因為命名問題,遇到過不執行的情況)

2.指令碼開頭必須加上「#!/bin/bash」,否則run-parts呼叫不成功。

否則直接用run-parts執行時會導致這樣的錯誤: 

run-parts: failed to exec /etc/cron.hourly/backup-website: exec format error

run-parts: /etc/cron.hourly/backup-website exited with return code 1

三.啟動與停止

ubuntu下啟動、停止與重啟cron

sudo /etc/init.d/cron start

sudo /etc/init.d/cron stop

sudo /etc/init.d/cron restart

檢視cron是否在執行:

pgrep cron

用例項告訴你linux下如何編寫計畫任務crontab。

# m h dom mon dowcommand

#分 時 日 月 周 執行命令

分鐘[0,59],小時[0,23],日期[1,31] ,月[1,12],周[0,6],可以使用的引數有「*」,「/」,「-」和「,」。

* 表示任意取值範圍內數字 在分鐘裡*表示0到59的任意數字

- 表示選擇區域範圍內的數字 3-10表示3-10的任意數字,包含3和10

, 選擇數字 2,4,5 選擇2,4,5

/ 每多少數字 在分鐘裡 */2表示每二分鐘

例子:每1分鐘執行一次command

* * * * * command

每小時的第3和第15分鐘執行

3,15 * * * *command

在上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * *command

每隔兩天的上午8點到11點的第3和第15分鐘執行

3,15 8-11 */2 * *command

每個星期一的上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * 1command

crontab可以定時執行任務,在ubuntu下輸入crontab幫助如下

test@ubuntu:~$crontab

crontab: usageerror: file name must be specified for replace

crontab [-u user]file

crontab [-u user]

-e (edit user'scrontab)

-l (list user'scrontab)

-r (delete user'scrontab)

Linux計畫任務詳解

語法 at option time 常用選項 設定任務執行時間的格式 使用互動式方式建立乙個任務 at ls etc at ctrl d結束輸入 job 8 at sun apr 23 21 53 00 2017 使用指定檔案作為輸入 root localhost at f scripts slee...

ubuntu下計畫任務cron

sudo vim etc rsyslog.d 50 default.conf cron是linux下的計畫任務,其對應的服務為crond。在ubuntu下使用cron和在其他linux發行版下使用cron大同小異。本人使用的ubuntu 12.10在安裝好後附帶了cron程式,可用於crond服務的...

ubuntu新增計畫任務

環境 ubuntu14.4 核心3.13.0 24 ubuntu預設已經啟動了計畫任務程序,要做的就是使用cron工具新增計畫任務。失敗經歷 1 在 var spool cron 下新增已當前登入使用者名為檔名的計畫任務檔案,不起作用 3 使用crontab e命令,由於不夠仔細,在第一次使用命令時...