十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1、查看定時執(zhí)行的文件:命令:“crontab -l”,如同ll或者ls一樣,顯示定時任務(wù)列表信息。

目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、唐山網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、查看定時任務(wù)詳細(xì)信息,定時任務(wù)腳本前面的 * * * * *和數(shù)字意思解釋如下:從左到右,依次是:分、時、日、月、星期。
3、修改定時腳本里面的執(zhí)行內(nèi)容。
4、查看定時腳本執(zhí)行內(nèi)容。
5、編輯定時執(zhí)行計劃。這個方式和修改文件類似。使用命令:"crontab -e" ,e表示edit修改的意思。
6、修改腳本路徑,腳本的具體執(zhí)行時間等。如果是每隔10分鐘執(zhí)行一次命令是:“*/10 * * * * /腳本.sh”。
crond是Linux下用來周期性的執(zhí)行某種任務(wù)或等待處理某些事件的一個守護(hù)進(jìn)程,與windows下的計劃任務(wù)類似,在CentOS Linux release 7.2.1511中默認(rèn)是開機(jī)啟動的,大家可以使用命令:systemctl status crond進(jìn)行查看。 crond進(jìn)程定期(每分鐘)檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動執(zhí)行該任務(wù)。用戶在cron表
(也被稱為crontab文件)指定了定時任務(wù),crontab也就是我們常見的定時任務(wù)設(shè)置命令。Linux下的任務(wù)調(diào)度分為兩類,系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度。
系統(tǒng)任務(wù)調(diào)度 :系統(tǒng)周期性所要執(zhí)行的工作,比如寫緩存數(shù)據(jù)到硬盤、日志清理等。/etc/crontab文件就是系統(tǒng)任務(wù)調(diào)度的配置文件。
用戶任務(wù)調(diào)度 :用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計劃任務(wù)。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。其文件名與用戶名一致,使用者權(quán)限文件如下:
通過以上幫助信息,我們可以知道crond是執(zhí)行任務(wù)計劃的一個守護(hù)進(jìn)程。在使用crontab之前我們可以根據(jù)幫助信息來設(shè)置相關(guān)選項,一般情況下我們都使用默認(rèn)值。
1.建立演示賬號crontab。
2.星號(*)使用舉例。
以上例子中完整演示了crontab從建立到執(zhí)行的過程?!? 0 * * * echo "GeekDevOps"”表示在每天00:05執(zhí)行命令:echo "GeekDevOps"。后面的星號表示只要前面條件滿足都執(zhí)行。例子中的-u選項指定了用戶:crontab,-l選項列舉了相關(guān)用戶的用戶任務(wù)調(diào)度,不指定用戶則默認(rèn)為root。執(zhí)行結(jié)果默認(rèn)寫入到用戶mail目錄下的相關(guān)文件中。
3.逗號(,)的使用舉例。
現(xiàn)在我們已經(jīng)把用戶切換到crontab下,因此無需額外指定-u選項相關(guān)內(nèi)容。“3 2,6,8 * * *”表示每天的02:03:00、06:03:00、08:03:00分別執(zhí)行一次命令:ls /usr/local。
4.減號(-)的使用舉例。
例子中的“0 2-6 * * 6 df -h /”表示用戶crontab在每周六的02:00、03:00、04:00、05:00、06:00執(zhí)行命令:df -h / 。
5.斜杠(/)的使用舉例。
例子中表示每隔2分鐘執(zhí)行一次命令:echo "GeekDevOps"/root/GeekDevOps.txt。
6.crontab的使用非常簡單,很容易理解,只要在取值范圍內(nèi)設(shè)置執(zhí)行的值基本是沒有問題的。現(xiàn)在我們要刪除已經(jīng)設(shè)置的這些定時任務(wù)。
例子中,選項-r表示刪除所有定時任務(wù)。選項-i表示在刪除前進(jìn)行再次確定,輸入y或者Y才能真正刪除。
7.備份我們設(shè)置的用戶任務(wù)調(diào)度配置文件。
8.系統(tǒng)任務(wù)調(diào)度的使用舉例。
系統(tǒng)任務(wù)調(diào)度與用戶任務(wù)調(diào)度不一樣,需要直接在/etc/crontab里面配置,如果需要指定用戶,還需要在執(zhí)行命令前指定用戶名。通過crontab -l 命令是查看不到系統(tǒng)任務(wù)調(diào)度任務(wù)的。
通常來講,linux下面的定時任務(wù)在執(zhí)行后,都會給任務(wù)owner發(fā)郵件,可以去使用mail命令去查收一下郵件。
當(dāng)然每次定時任務(wù)的執(zhí)行也都會寫日志的,無論成功還是失敗,日志文件路徑 /var/log/cron
不過建議自己在設(shè)定任務(wù)時,讓你自己腳本里包含任務(wù)階段性輸出日志到指定的文件,這樣方便自己檢查任務(wù)的詳細(xì)執(zhí)行情況。
周期性的執(zhí)行任務(wù)計劃的軟件,Linux定時任務(wù)軟件的常用軟件crond
cron是定時任務(wù)的軟件名
crond是服務(wù)進(jìn)程名,真正實現(xiàn)定時任務(wù)服務(wù)
crontab命令是用來設(shè)置定時任務(wù)
01.使用定時軟件,可以每天每小時按你的需求重復(fù)的執(zhí)行一項工作
02.類似生活中使用的鬧鐘,可以自動完成操作命令,定時備份系統(tǒng)數(shù)據(jù)信息。
01.定時任務(wù)服務(wù)環(huán)境準(zhǔn)備
a. 啟動crond服務(wù) ?
關(guān)閉crond服務(wù):systemctl stop crond.service
啟動crond服務(wù):systemctl start crond.service
查看crond服務(wù)狀態(tài):systemctl status crond.service
b.設(shè)置開機(jī)自啟動
開機(jī)自啟動crond服務(wù):systemctl enable crond.service
開機(jī)不啟動crond服務(wù):systemctl disable crond.service
02.系統(tǒng)定時任務(wù)
a. 系統(tǒng)定時任務(wù)周期:
每小時 ?目錄/etc/cron.hourly
每一天 ?目錄/etc/cron.daily
每一周 ?目錄/etc/cron.weekly
每個月 ?目錄/etc/cron.monthly
b. /etc/crontab 系統(tǒng)定時任務(wù)的配置文件之一(有記錄定時任務(wù)格式)
c. 系統(tǒng)定時任務(wù)+logrotate命令 完成對日志的切割/日志輪詢
/var/log/cron
/var/log/messages
/var/log/secure
02.用戶定時任務(wù)
用戶定時任務(wù)查看 ? ? ?crontab -l ?== cat /var/spool/cron/root
用戶定時任務(wù)編輯 ? ? ?crontab -e ?== ?vim /var/spool/cron/root
定時任務(wù)配置文件 ? ? ?/var/spool/cron/root (root文件表示root用戶設(shè)置的定時任務(wù),文件名是根據(jù)用戶名設(shè)置的)
注:定時任務(wù)常見提示信息
a. no crontab for root ? 當(dāng)前用戶沒有編輯定時任務(wù)
b. Do you want to retry the same edit ? 定時任務(wù)編輯錯誤是否繼續(xù)
03.定時任務(wù)編寫語法格式:
定時任務(wù)常用符號
* ? ? ? 每 ?
/n ? ? 每隔
- ? ? ? 連續(xù)區(qū)間
, ? ? ? ?分隔
04.定時任務(wù)編寫流程
a. 測試定時執(zhí)行命令(定時任務(wù)執(zhí)行的命令用絕對路徑)
b. 編寫定時任務(wù)信息(先編寫注釋信息,編寫定時任務(wù))
c. 檢查定時任務(wù)效果:查看定時任務(wù)日志(可以臨時修改定時任務(wù)每分鐘執(zhí)行,最終修改定時任務(wù)的時間)
定時任務(wù)對%不識別,百分號需要轉(zhuǎn)義\%
盡量使用腳本文件實現(xiàn)
a. 測試定時執(zhí)行腳本(定時任務(wù)執(zhí)行的腳本利用絕對路徑/bin/sh)
b. 編寫定時任務(wù)信息(先編寫注釋信息,編寫定時任務(wù) 在任務(wù)信息后邊加上/dev/null 21 避免產(chǎn)生很多沒用的小文件占用磁盤inode)
c. 檢查定時任務(wù)效果:查看定時任務(wù)日志(可以臨時修改定時任務(wù)每分鐘執(zhí)行,最終修改定時任務(wù)的時間)
定時任務(wù)編寫要領(lǐng)
(1)為定時任務(wù)規(guī)則加必要的注釋
(2)所有的定時任務(wù)盡量都以腳本的形式執(zhí)行
(3)在執(zhí)行的shell腳本前加上/bin/sh
(4)在定時任務(wù)中命令或腳本的結(jié)尾加上 /dev/null 21
(5)在指定用戶下執(zhí)行相關(guān)定時任務(wù)
(6)生產(chǎn)任務(wù)計劃程序中不要隨意打印輸出信息,有輸出的想法去掉
(7)定時任務(wù)執(zhí)行的腳本喲啊存放到規(guī)范路徑下
(8)配置定時任務(wù)要規(guī)范操作過程,減少出錯
(9)定時任務(wù)腳本中程序命令及路徑盡量用全路徑
(10)時間變了%號要用反斜線轉(zhuǎn)義(只有定時任務(wù)里時命令時需要)
(11)若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重現(xiàn)定義
(12)出錯或無法執(zhí)行,就檢查/var/log/cron日志