概述
什么是crontab呢?
crontab是用于設(shè)置周期性執(zhí)行的任務(wù)的工具念脯。該詞來源于希臘語 chronos(χρνο),原意是時(shí)間弯淘。
想象一下绿店,你的工作如果是一個(gè)運(yùn)維人員,你需要每天去對系統(tǒng)進(jìn)行health check,你需要每天凌晨對過去的一天系統(tǒng)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)假勿,你需要每周對系統(tǒng)日志進(jìn)行備份切割借嗽,你需要每個(gè)月對系統(tǒng)關(guān)鍵數(shù)據(jù)進(jìn)行備份,如果這些所有的工作全部用人去完成转培,那么你還哪有時(shí)間泡妞呢恶导,到時(shí)候可就真是人傻錢多死的早了,但是有了crontab就不一樣了浸须,當(dāng)你設(shè)置好了指令惨寿,他會(huì)幫你統(tǒng)統(tǒng)的搞定,然后你就可以去酒吧删窒、去夜場裂垦、emmm..你懂的..
安裝
說明:本次安裝演示是在centos下,使用的工具為yum
yum install -y cronie crontabs
檢查crontab是否啟動(dòng)命令
systemctl status crond
執(zhí)行這條命令肌索,如果返回一下說明啟動(dòng)安裝并啟動(dòng)成功
可以看到active的狀態(tài)為running蕉拢,說明服務(wù)正在運(yùn)行
那如果并未啟動(dòng)呢?執(zhí)行下面這條命令啟動(dòng)
systemctl restart crond //啟動(dòng)crontab
啟動(dòng)完成用上述命令檢查是否啟動(dòng)即可
配置文件
打開配置文件命令
vi /etc/crontab
可以看到一下內(nèi)容
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin //默認(rèn)系統(tǒng)環(huán)境變量诚亚,如果有需要晕换,可以在后面添加
MAILTO=root //代表每觸發(fā)一個(gè)任務(wù)都會(huì)給root用戶發(fā)送系統(tǒng)內(nèi)部郵件,需要保證郵件正常
# 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
解析:
*? *? * *? *? my command
分 時(shí) 日 月 周? 要運(yùn)行的命令
/代表每 例如 */1 每分鐘
- 代表數(shù)字的區(qū)間站宗,例如 1-10
, 代表兩個(gè)數(shù)字 例如 1,2
命令:
crontab -l //查看當(dāng)前所有的命令
crontab -e //編輯命令
問題來了闸准,對于寫入對命令保存在哪里呢?
如果是你是root用戶份乒,保存地址為:
/var/spool/cron/root
如果你是user_o1用戶恕汇,保存地址為:
/var/spool/cron/user_o1
額外補(bǔ)充
添加系統(tǒng)級別環(huán)境變量文件:
vi /etc/profile
PATH=/usr/local/php/bin/php
export PATH
添加用戶級別環(huán)境變量
vi /root/.bash_profile
PATH=$HOME/bin:/usr/local/php/bin/php
export PATH
本文章到現(xiàn)在只是簡單的講解crontab,后續(xù)本文章會(huì)繼續(xù)添加維護(hù)或辖,請關(guān)注本專欄瘾英,獲取更新