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
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服務。