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查看任務的運行情況。
本文轉自白小凡的博客