crond是Linux下用來周期性的執(zhí)行某種任務(wù)或等待處理某些事件的一個(gè)守護(hù)進(jìn)程,與windows下的計(jì)劃任務(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表
解放網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
(也被稱為crontab文件)指定了定時(shí)任務(wù),crontab也就是我們常見的定時(shí)任務(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ù)備份、定時(shí)郵件提醒等。用戶可以使用 crontab 工具來定制自己的計(jì)劃任務(wù)。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。其文件名與用戶名一致,使用者權(quán)限文件如下:
通過以上幫助信息,我們可以知道crond是執(zhí)行任務(wù)計(jì)劃的一個(gè)守護(hù)進(jìn)程。在使用crontab之前我們可以根據(jù)幫助信息來設(shè)置相關(guān)選項(xiàng),一般情況下我們都使用默認(rèn)值。
1.建立演示賬號crontab。
2.星號(*)使用舉例。
以上例子中完整演示了crontab從建立到執(zhí)行的過程?!? 0 * * * echo "GeekDevOps"”表示在每天00:05執(zhí)行命令:echo "GeekDevOps"。后面的星號表示只要前面條件滿足都執(zhí)行。例子中的-u選項(xiàng)指定了用戶:crontab,-l選項(xiàng)列舉了相關(guān)用戶的用戶任務(wù)調(diào)度,不指定用戶則默認(rèn)為root。執(zhí)行結(jié)果默認(rèn)寫入到用戶mail目錄下的相關(guān)文件中。
3.逗號(,)的使用舉例。
現(xiàn)在我們已經(jīng)把用戶切換到crontab下,因此無需額外指定-u選項(xiàng)相關(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í)行的值基本是沒有問題的?,F(xiàn)在我們要?jiǎng)h除已經(jīng)設(shè)置的這些定時(shí)任務(wù)。
例子中,選項(xiàng)-r表示刪除所有定時(shí)任務(wù)。選項(xiàng)-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ù)的。
周期性的執(zhí)行任務(wù)計(jì)劃的軟件,Linux定時(shí)任務(wù)軟件的常用軟件crond
cron是定時(shí)任務(wù)的軟件名
crond是服務(wù)進(jìn)程名,真正實(shí)現(xiàn)定時(shí)任務(wù)服務(wù)
crontab命令是用來設(shè)置定時(shí)任務(wù)
01.使用定時(shí)軟件,可以每天每小時(shí)按你的需求重復(fù)的執(zhí)行一項(xiàng)工作
02.類似生活中使用的鬧鐘,可以自動完成操作命令,定時(shí)備份系統(tǒng)數(shù)據(jù)信息。
01.定時(shí)任務(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)定時(shí)任務(wù)
a. 系統(tǒng)定時(shí)任務(wù)周期:
每小時(shí) ?目錄/etc/cron.hourly
每一天 ?目錄/etc/cron.daily
每一周 ?目錄/etc/cron.weekly
每個(gè)月 ?目錄/etc/cron.monthly
b. /etc/crontab 系統(tǒng)定時(shí)任務(wù)的配置文件之一(有記錄定時(shí)任務(wù)格式)
c. 系統(tǒng)定時(shí)任務(wù)+logrotate命令 完成對日志的切割/日志輪詢
/var/log/cron
/var/log/messages
/var/log/secure
02.用戶定時(shí)任務(wù)
用戶定時(shí)任務(wù)查看 ? ? ?crontab -l ?== cat /var/spool/cron/root
用戶定時(shí)任務(wù)編輯 ? ? ?crontab -e ?== ?vim /var/spool/cron/root
定時(shí)任務(wù)配置文件 ? ? ?/var/spool/cron/root (root文件表示root用戶設(shè)置的定時(shí)任務(wù),文件名是根據(jù)用戶名設(shè)置的)
注:定時(shí)任務(wù)常見提示信息
a. no crontab for root ? 當(dāng)前用戶沒有編輯定時(shí)任務(wù)
b. Do you want to retry the same edit ? 定時(shí)任務(wù)編輯錯(cuò)誤是否繼續(xù)
03.定時(shí)任務(wù)編寫語法格式:
定時(shí)任務(wù)常用符號
* ? ? ? 每 ?
/n ? ? 每隔
- ? ? ? 連續(xù)區(qū)間
, ? ? ? ?分隔
04.定時(shí)任務(wù)編寫流程
a. 測試定時(shí)執(zhí)行命令(定時(shí)任務(wù)執(zhí)行的命令用絕對路徑)
b. 編寫定時(shí)任務(wù)信息(先編寫注釋信息,編寫定時(shí)任務(wù))
c. 檢查定時(shí)任務(wù)效果:查看定時(shí)任務(wù)日志(可以臨時(shí)修改定時(shí)任務(wù)每分鐘執(zhí)行,最終修改定時(shí)任務(wù)的時(shí)間)
定時(shí)任務(wù)對%不識別,百分號需要轉(zhuǎn)義\%
盡量使用腳本文件實(shí)現(xiàn)
a. 測試定時(shí)執(zhí)行腳本(定時(shí)任務(wù)執(zhí)行的腳本利用絕對路徑/bin/sh)
b. 編寫定時(shí)任務(wù)信息(先編寫注釋信息,編寫定時(shí)任務(wù) 在任務(wù)信息后邊加上/dev/null 21 避免產(chǎn)生很多沒用的小文件占用磁盤inode)
c. 檢查定時(shí)任務(wù)效果:查看定時(shí)任務(wù)日志(可以臨時(shí)修改定時(shí)任務(wù)每分鐘執(zhí)行,最終修改定時(shí)任務(wù)的時(shí)間)
定時(shí)任務(wù)編寫要領(lǐng)
(1)為定時(shí)任務(wù)規(guī)則加必要的注釋
(2)所有的定時(shí)任務(wù)盡量都以腳本的形式執(zhí)行
(3)在執(zhí)行的shell腳本前加上/bin/sh
(4)在定時(shí)任務(wù)中命令或腳本的結(jié)尾加上 /dev/null 21
(5)在指定用戶下執(zhí)行相關(guān)定時(shí)任務(wù)
(6)生產(chǎn)任務(wù)計(jì)劃程序中不要隨意打印輸出信息,有輸出的想法去掉
(7)定時(shí)任務(wù)執(zhí)行的腳本喲啊存放到規(guī)范路徑下
(8)配置定時(shí)任務(wù)要規(guī)范操作過程,減少出錯(cuò)
(9)定時(shí)任務(wù)腳本中程序命令及路徑盡量用全路徑
(10)時(shí)間變了%號要用反斜線轉(zhuǎn)義(只有定時(shí)任務(wù)里時(shí)命令時(shí)需要)
(11)若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重現(xiàn)定義
(12)出錯(cuò)或無法執(zhí)行,就檢查/var/log/cron日志
自動化過程中有許多的腳本希望它能夠自動在某一個(gè)時(shí)間段去執(zhí)行,這就需要用到設(shè)置定時(shí)任務(wù)的功能,以下就是我對定時(shí)任務(wù)的介紹.
linux內(nèi)置的cron進(jìn)程能幫我們實(shí)現(xiàn)定時(shí)任務(wù).
如果linux沒有自動,可以自己進(jìn)行安裝:
服務(wù)操作說明:
我們常用的命令如下:
網(wǎng)上看到一張圖很生動形象
在以上各個(gè)字段中,還可以使用以下特殊字符:
星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執(zhí)行該命令操作。
逗號(,):可以用逗號隔開的值指定一個(gè)列表范圍,例如,“1,2,5,7,8,9”
中杠(-):可以用整數(shù)之間的中杠表示一個(gè)整數(shù)范圍,例如“2-6”表示“2,3,4,5,6”
正斜線(/):可以用正斜線指定時(shí)間的間隔頻率,例如“0-23/2”表示每兩小時(shí)執(zhí)行一次。同時(shí)正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。
實(shí)例
;?????linux怎么查看定時(shí)任務(wù)呢,下面就讓我們來看看吧。
1、打開linux系統(tǒng),在linux的桌面的空白處右擊。
2、在彈出的下拉選項(xiàng)里,點(diǎn)擊打開終端。
3、在終端窗口中輸入cd/var/spool/cron命令,回車后即可查看到定時(shí)任務(wù)。
以上就是的分享,希望能幫助的大家。
本文章基于ThinkpadE15品牌、centos7系統(tǒng)撰寫的。