Linux命令——crontab
Linux定時任務crontab介紹
cron工具是一個以系統服務的形式存在。通過/etc/rc.d/init.d或/etc/init.d目錄下啟動指令碼crond來啟動。也可以直接通過service crond start 命令來啟動。
cron不停地檢查所有配置的任務在當前是否應該執行,任務的最小時間間隔是1分鐘,也就是說任務最頻繁只能每分鐘執行一次。
1.crontab命令的選項
2.cron檔案語法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應使用者的cron檔案,也可以直接修改/etc/crontab檔案。具體格式如下:
每個欄位代表的含義如下:
Minute, 每個小時的第幾分鐘執行該任務
Hour,每天的第幾個小時執行該任務
Day,每月的第幾天執行該任務
Month,每年的第幾個月執行該任務
DayOfWeek,每週的第幾天執行該任務,0表示週日
Command,指定要執行的程式 、指令碼或命令
在這些欄位裡,除了“Command”是必須指定的欄位以外,其它欄位皆為可選。對於不指定的欄位,要用*來填補其位置。
3 幾個特殊符號的含義
* 代表取值範圍內的數字
/ 代表”每”
- 代表從某個數字到某個數字
, 分開幾個離散的數字
4 關於cron配置檔案/etc/crontab
cron的主配置檔案是/etc/crontab,它包括下面幾行:
前四行是用來配置 cron 任務執行環境的變數:
Shell 變數的值指定shell 環境(此處預設為 bash shell);PATH 變數定義用來執行命令的程式路徑;cron 任務的輸出被郵寄給 MAILTO 變數定義的使用者名稱,如果 MAILTO 變數被定義為空白字串(MAILTO=””),電子郵件就不會被寄出;HOME 變數可以用來設定在執行命令或指令碼時使用的主目錄。
每次編輯完某個使用者的cron設定後,cron自動在/var/spool/cron下生成一個與此使用者同名的檔案,此使用者的cron資訊都記錄在這個檔案中,這個檔案是不可以直接編輯的,只可以用crontab -e來編輯。cron啟動後每過一份鍾讀一次這個檔案,檢查是否要執行裡面的命令。因此此檔案修改後不需要重新啟動cron服務。
5 常見cron示例參考
6 啟動或關閉
由於Cron 是Linux的內建服務,可以用以下的方法啟動、關閉這個服務:
在suse系統上市service cron start/service cron status/service cron stop/service cronrestart
7 cron任務檔案
cron 會從如下這些地方讀取安裝的任務:
/etc/anacrontab
這個檔案存著系統級的任務。它主要用來執行每日的(daily),每週的(weekly),每月的(monthly)的任務。一般不在此檔案安裝自己的任務
/etc/cron.d/
此目錄下存放的是系統級任務的任務檔案。
/var/spool/cron/
此目錄下存放各個使用者的任務檔案。各個使用者的任務存放在以自已使用者名稱為檔名的任務檔案中。此檔案中的指令行沒有使用者域。
新任務安裝後或任務修改後不需要重啟cron程序即可生效。
8 日誌檔案
可以通過檢視檔案/var/log/cron檢視任務的執行情況。