centos(7.0) 上 crontab 計劃任務

yum install vixie-cron

yum install crontabs

/bin/systemctl restart crond.service  #啓動服務

/bin/systemctl reload  crond.service  #從新載入配置

/bin/systemctl status  crond.service  #查看crontab服務狀態

補充:shell

一、crontab相關命令apache

功能說明:設置計時器。bash

語  法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]url

補充說明:cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可使用計時器的功能。spa

配置文件格式:Minute Hour Day Month DayOFWeek Commandrest

參  數: 
-e  編輯該用戶的計時器設置。 
-l  列出該用戶的計時器設置。 
-r  刪除該用戶的計時器設置。 
-u<用戶名稱>  指定要設定計時器的用戶名稱。code

 

二、crontab 配置文件格式orm

  基本格式 :
  *      *   *   *   *  command
  分   時  日  月  周   命令crontab

  第1列表示分鐘1~59 每分鐘用*或者 */1表示
  第2列表示小時1~23(0表示0點)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列標識號星期0~6(0表示星期天)
  第6列要運行的命令字符串

 除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"*/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/apache restart  #每晚的21:30 重啓apache 

45 4 1,10,22 * * /usr/local/etc/rc.d/apache restart  #每個月一、十、22日的4 : 45重啓apache 

10 1 * * 6,0 /usr/local/etc/rc.d/apache restart #每週6、週日的1 : 10重啓apache  

0,30 18-23 * * * /usr/local/etc/rc.d/apache restart  #天天18 : 00至23 : 00之間每隔30分鐘重啓apache  

0 23 * * 6 /usr/local/etc/rc.d/apache restart  #每星期六的11 : 00 pm重啓apache

* 23-7/1 * * * /usr/local/etc/rc.d/apache restart  #晚上11點到早上7點之間,每隔一小時重啓  apache

* */1 * * * /usr/local/etc/rc.d/apache restart  #每一小時重啓apache   

0 11 4 * mon-wed /usr/local/etc/rc.d/apache restart #每個月的4號與每週一到週三的11點重啓apache   

0 4 1 jan * /usr/local/etc/rc.d/apache restart  #一月一號的4點重啓apache  

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44  #每半小時同步一下時間 

0 */2 * * * www /usr/bin/somecommand  >>  /dev/null 2>&1 #以用戶www的身份每兩小時就運行某個程序:

三、其餘任務調度

cron默認配置了調度任務,分別爲:hourly、daily、weekly、mouthly,默認配置文件爲/etc/anacrontab

將須要執行的腳本放到相應的目錄下便可,目錄分別爲:

/etc/cron.hourly

/etc/cron.daily

/etc/cron.weekly

/ect/cron.mouthly


cron 的主配置文件是 /etc/crontab,它包括下面幾行:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


4. 關於cron配置文件/etc/crontab

cron 的主配置文件是 /etc/crontab,它包括下面幾行:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

前四行是用來配置 cron 任務運行環境的變量:

Shell 變 量的值指定shell 環境(此處默認爲 bash shell);PATH 變量定義用來執行命令的程序路徑;cron 任務的輸出被郵寄給 MAILTO 變量定義的用戶名,若是 MAILTO 變量被定義爲空白字符串(MAILTO=""),電子郵件就不會被寄出;HOME 變量能夠用來設置在執行命令或腳本時使用的主目錄。如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 腳原本執行存在於 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目錄中的腳本,這些腳本被相應地按照預設時間在每小時、每日、每週、或每個月執行。這些目錄中的文件應該是 shell 腳本,而且具備可執行權限(chmod +x filename)。

若是某 cron 任務須要根據調度來執行,而不是每小時、每日、每週、或每個月地執行,它能夠被添加到/etc/cron.d目錄中。該目錄中的全部文件使用和 /etc/crontab 中同樣的語法。

每 次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件 中,這個文件是不能夠直接編輯的,只能夠用crontab -e 來編輯。cron啓動後每過一份鍾讀一次這個文件,檢查是否要執行裏面的命令。所以此文件修改後不須要從新啓動cron服務。

相關文章
相關標籤/搜索