Linux之定時任務

2021-08-01 02:36:06 字數 3328 閱讀 1304

可以改為如下(僅供參考):

shell=/bin/bash

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

mailto=root //如果出現錯誤,或者有資料輸出,資料作為郵件發給這個帳號

home=/ //使用者執行的路徑,這裡是根目錄

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的指令碼

02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的指令碼

22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行 /etc/cron.weekly內的指令碼

42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的指令碼

大家注意」run-parts」這個引數了,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是資料夾名了

我看了一下我自己的,目前/etc/cron.hourly這寫檔案裡面是空,這樣設定了之後,大家只需要把自己要執行的檔案放在對應的資料夾就可以了

2./etc/cron.deny 和 /etc/cron.allow 檔案

a.如果兩個檔案都不存在,則只有root使用者才能使用crontab命令。

b.如果cron.allow存在但cron.deny不存在,則只有列在cron.allow檔案裡的使用者才能使用crontab命令,如果root使用者也不在裡面,則root使用者也不能使用crontab。

c.如果cron.allow不存在, cron.deny存在,則只有列在cron.deny檔案裡面的使用者不能使用crontab命令,其它使用者都能使用。

d.如果兩個檔案都存在,則列在cron.allow檔案中而且沒有列在cron.deny中的使用者可以使用crontab,如果兩個檔案中都有同乙個使用者,

以cron.allow檔案裡面是否有該使用者為準,如果cron.allow中有該使用者,則可以使用crontab命令。

3.cron是乙個linux下 的定時執行工具,可以在無需人工干預的情況下執行作業

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

/sbin/service crond status //檢視服務狀態

4.每個使用者都可以有自己的crontab檔案。/var/spool/cron下的crontab檔案不可以直接建立或者直接修改。該crontab檔案是通過crontab命令建立的

a.一般情況下這裡面的檔案只有root使用者可以檢視

b.至於某個使用者在執行定時任務的時候,這裡面才會有該使用者想的檔案,比如使用者名稱peter建立的定時任務,你看見的內容入下:

peter root

注意:/etc/crontab 這裡的crontab檔案是針對系統的任務

而/var/spool/cron下邊的crontab檔案(名字不叫crontab,一般為使用者名稱)是針對某個使用者的

5.在crontab檔案中如何輸入需要執行的命令和時間。該檔案中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後乙個域是要被執行的命令。

每個域之間使用空格或者製表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands

分 小時 日 月 星期 命令

合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)

記住幾個特殊符號的含義:

「*」代表取值範圍內的數字,

「/」代表」每」,如每2分鐘:*/2

「-」代表從某個數字到某個數字,

「,」分開幾個離散的數字

每個字段代表的含義如下:

minute 每個小時的第幾分鐘執行該任務

hour 每天的第幾個小時執行該任務

day 每月的第幾天執行該任務

month 每年的第幾個月執行該任務

dayofweek 每週的第幾天執行該任務

command 指定要執行的程式

在這些欄位裡,除了「command」是每次都必須指定的字段以外,其它欄位皆為可選

字段,可視需要決定。對於不指定的字段,要用「*」來填補其位置。

舉例如下:

5 * * * * ls 指定每小時的第5分鐘執行一次ls命令

30 5 * * * ls 指定每天的 5:30 執行ls命令

30 7 8 * * ls 指定每月8號的7:30分執行ls命令

30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令

30 6 * * 0 ls 指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1,

以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]

30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[注:「,」用來連線多個不連續的時段]

25 8-11 * * * ls 每天8-11點的第25分鐘執行ls命令[注:「-」用來連線連續的時段]

/15 * * * ls 每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]

30 6 /10 * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls 命令。 ]

50 7 * * * root run-parts /etc/cron.daily 每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行檔案

[ 注:run-parts引數表示,執行後面目錄中的所有可執行檔案。 ]

6.新增定時任務:7.操作定時任務

1)檢視定時任務

crontab -l //列出當前的所有排程任務

crontab -l -u peter //列出使用者peter的所有排程任務

2)刪除定時任務

crontab -r //刪除所有任務排程工作.如果要刪除其中乙個,就用crontab -e在檔案中去修改

3)編輯定時任務

crontab -e //編輯定時任務

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

Linux之定時任務

linux 定時任務 實現linux定時任務有 cron anacron at等,這裡主要介紹cron服務。名詞解釋 cron是服務名稱,crond是後台程序,crontab則是定製好的計畫任務表。軟體包安裝 要使用cron服務,先要安裝vixie cron軟體包和crontabs軟體包,兩個軟體包...

Linux之定時任務

crontab命令用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。1.檢查是否安裝了crontab,如果提示未安裝請自行安裝,crontab安裝包在系統光碟裡面的pacekage資料夾crontabs安裝包。rpm qa grep ...