一、什麼是cron
在LINUX中,週期執行或者定時任務一般由cron這個守護進程來處理,這個進程常駐後臺,定期會去讀取其配置文件,完成配置文件中所描述的操作。
二、如何啓動與修改cron服務
service cron start //啓動服務
service cron stop //關閉服務
service cron restart //重啓服務
service cron reload //重新載入配置
service cron status //查看服務狀態
三、cron的配置文件:
cron 的配置文件主要有四種:
(1)/etc/crontab 這是root 用戶訪問的配置文件,root用戶可以在其中控制自己以及其他任務的定時任務。
(2)/var/spool/cron/crontabs/* 這是每個用戶(包括root)都會有的一個配置文件,可以直接通過vim或者其他編輯其打開來加入對應的定時任務。
(3)/etc/ cron.d /etc /cron.hourly /etc / cron.daily /etc /cron.weekly /etc /cron.monthly 這些是文件夾,需要定期執行的可執行文件放在裏面,注意是可執行文件,具體是每天或者每週幾點去執行,取決於/etc/crontab中的配置,這個實際上是/etc/crontab 的一個延伸項。這是四個文件夾,如果需要建立按小時,按天,按周,按月執行的任務,可以可執行的文件(.sh)放入其中。
(4)/etc/cron.d 目錄 放置的也是負荷cron語法規則的文件。
四、啓動定時任務的方法:
(1)啓動root用戶的定時任務:
- 直接在/etc/crontab中加入任務,任務的描述方法見後文
- 切換到root 用戶,在shell中執行,crontab -e 可以直接編輯任務,其編輯的實際上就是/var/spool/cron/crontabs/root這個文件。
- 直接使用vim或者nano等編輯器編輯/var/spool/cron/crontabs/root這個文件。
(2)啓動其他用戶(非root)的定時任務:
- 直接在/etc/crontab中加入任務,可以設置任務所屬的用戶。
- 直接使用vim、nano等編輯器編輯/var/spool/cron/crontabs/username這個文件。
- 在username用戶下,在shell中執行,crontab -e 可以直接編輯任務,其編輯的實際上就是/var/spool/cron/crontabs/username這個文件。
(3)加入每小時,每天,每週,每月執行一次的任務:
在/etc/ cron.d /etc /cron.hourly /etc /cron.daily /etc /cron.weekly /etc /cron.monthly 文件夾下寫.sh腳本來設置任務,需要注意的是,具體是每天或者每週幾點去執行,取決於/etc/crontab中的配置,這個實際上是/etc/crontab 的一個延伸項。也就是在/etc/crontab種設置了三個任務,每小時,每天,每週,每月的一個具體時間去執行/etc /cron.weekly,/etc /cron.monthly ……文件夾內的所有可執行文件。
補充:
test –x 是測試某個文件是否是可執行文件,返回值是$?,真爲0,假爲1。
Acommand || Bcommand 若Acommand執行的結果返回假則執行Bcommand
Acommand && Bcommand 若Acommand執行的結果返回真則執行Bcommand