1. 程式人生 > >Linux之定時任務Crond使用

Linux之定時任務Crond使用

格式 子郵件 .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使用