Linux之定時任務Crond使用
阿新 • • 發佈:2018-01-02
格式 子郵件 .com color hour blog 分鐘 16px 特定
一、用法
crond服務是linux系統自帶的服務,是不需要手動安裝的;
crond服務是一種守護進程;
Linux中的用戶使用contab命令來配置corn任務;
crontab –e : 修改 crontab 文件,如果文件不存在會自動創建。 crontab –l : 顯示 crontab 文件。 crontab -r : 刪除 crontab 文件。 crontab -ir : 刪除 crontab 文件前提醒用戶。
二、為特定用戶添加定時任務
三、為系統添加定時任務
在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)
第一行SHELL變量指定了系統要使用哪個shell,這裏是bash。
第二行PATH變量指定了系統執行 命令的路徑。
第三行MAILTO變量指定了crond的任務執行信息將通過電子郵件發送給root用戶,如果MAILTO變量的值為空,則表示不發送任務 執行信息給用
註:commands 註意以下幾點
- 要是存在文件,要寫絕對路徑
- 即使是打印也不會顯示在顯示屏,在後臺運行,最好重定向日誌
//定時任務時間格式舉例: 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 整點執行ls命令 ] 30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日的6:30執行一次ls 命令。 ]
除了數字還有幾個特殊的符號:"*"、"/"和"-"、","
- *代表所有的取值範圍內的數字
- "/"代表每的意思,"/5"表示每5個單位
- "-"代表從某個數字到某個數字
- ","分開幾個離散的數字
cron服務每分鐘不僅要讀一次/var/spool/cron內的所有針對特定用戶的定時任務文件,還需要讀一次系統級的/etc/crontab文件,用crontab -e配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務
Linux之定時任務Crond使用