【全局(系統(tǒng))配置文件】
/etc/crontab
Linux 主要的配置文件都在 etc 目錄下。
cd /etc
ls cron*
vim crontab
進(jìn)入 cron.d(服務(wù))
cd cron.d
使用 cat 命令查看 sysstat 文件(cat命令是linux下的一個(gè)文本輸出命令,通常是用于觀看某個(gè)文件的內(nèi)容的 )
cat sysstat
會(huì)發(fā)現(xiàn),查看的內(nèi)容和 crontab -l 時(shí)的內(nèi)容很相似
在 crontab 載入配置文件的時(shí)候,會(huì)把 cron.d 下面的文件里面的配置信息載入成為 root 用戶(hù)的計(jì)劃任務(wù),如果用 crontab -e 命令去編輯它的時(shí)候,實(shí)際上會(huì)破壞它原始文件配置的內(nèi)容,,所以一般情況下是不愿意使用 crontab -e 的。如果直接編輯文件:vim sysstat,此時(shí)再使用 crontab -l,會(huì)發(fā)現(xiàn)編輯文件不會(huì)被直接載入(crontab -l 查看的內(nèi)容不會(huì)改變),可以通過(guò) crontab sysstat 的方式(crontab 后面跟一個(gè)文件的方式)把文件載入,然后再使用 crontab -l 查看,此時(shí)文件里面的內(nèi)容覆蓋了原來(lái) crontab -l 里面所有的東西,所以在用 crontab 后面跟一個(gè)文件這種形式導(dǎo)入的時(shí)候要非常小心,因?yàn)?crontab -e 里面的內(nèi)容都會(huì)被文件復(fù)寫(xiě)。要使一個(gè)計(jì)劃任務(wù)不會(huì)被丟失,通常情況下不是使用 crontab -e,而是在一個(gè)文件中去添加,然后再載入,這樣系統(tǒng)重啟的時(shí)候,這些文件也會(huì)被自動(dòng)載入到計(jì)劃任務(wù)列表中,注意這種方式是以 root 用戶(hù)的方式載入的。
在使用 ls cron* 的命令時(shí),會(huì)有個(gè)一 cron.d 的目錄,這是配置文件的目錄。它下面的 sysstat 和 etc 目錄下的 crontab 文件是很類(lèi)似的,
contab 不能編輯系統(tǒng)級(jí)的配置文件里面的計(jì)劃任務(wù)(例如在 cron.d 下新建計(jì)劃任務(wù)文件 crontst,里面寫(xiě)入 */1 * * * * dee echo "File in /ect/cron.d/crontst****",然后:wq!保存退出,這時(shí)可以使用 tail -f /var/log/cron 進(jìn)行監(jiān)視,可以發(fā)現(xiàn)這條計(jì)劃任務(wù)的執(zhí)行情況,但是使用 crontab -l 或者 crontab -e 就不能列出這條計(jì)劃任務(wù)了)。
【補(bǔ)充】
先使用
crontab -l
再使用
cat /var/spool/cron/root
會(huì)發(fā)現(xiàn)兩個(gè)命令的輸出結(jié)果一樣:
實(shí)際上 crontab 操作的時(shí)候,操作的是 /var/spool/cron/root 這個(gè)文件。
可以使用
ls /var/spool/cron/root
查看所有用戶(hù)的計(jì)劃任務(wù)。
【Root 配置文件】
只有 Root 用戶(hù)才會(huì)把這些內(nèi)容載入到計(jì)劃任務(wù)表中