Linux定時任務Crontab學習筆記

crond是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務相似,當安裝完成操做系統後,默認會安裝此服務工具,而且會自動啓動crond進程,crond進程每分鐘會按期檢查是否有要執行的任務,若是有要執行的任務,則自動執行該任務。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。linux

 

在未修改的狀況下 /etc/crontab的內容以下:shell

SHELL=/bin/bash   
PATH=/sbin:/bin:/usr/sbin:/usr/bin   
MAILTO=root   

# For details see man 4 crontabs   
# Example of job definition:  
# .---------------- minute (0 - 59)  
# |  .------------- hour (0 - 23)  
# |  |  .---------- day of month (1 - 31)  
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...  
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  
# |  |  |  |  |      
# *  *  *  *  * user-name  command to be executed

前面3行是用來配置crond任務運行的環境變量windows

 

  • 第一行SHELL變量指定了系統要使用哪一個shellbash

  • 第二行PATH變量指定了系統執行命令的路徑工具

  • 第三行MAILTO變量指定了crond的任務執行信息將經過電子郵件發送給root用戶(若是MAILTO變量的值爲空,則表示不發送任務執行信息給用戶)spa

  • 從第7行到第14行是crontab的設置參考。具體含義已經講解的很是清楚了,設置參考中標識了取值範圍,操作系統

 

在以上各個字段中,還可使用如下特殊字符:code

 

  • 星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。進程

  • 逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」事件

  • 中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」

  • 正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。

  • 案例:

*,*/5 9-16 * 1-5,9-12 1-5 root command

在1到5月,9到12月每週週一到週五的9點到16點之間每5分鐘執行一次

相關文章
相關標籤/搜索