linux計劃任務(wù)之crontab

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了葉集免費建站歡迎大家使用!
語法:
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
說明:
crontab命令是為個人用戶用于設(shè)置周期性被執(zhí)行的指令。每一個用戶都可以有自己的crontab。
如果/etc/cron.allow文件存在,該文件中所列用戶允許使用crontab命令。
如果/etc/cron.allow文件不存在,而/etc/cron.deny文件存在,該文件中所列用戶不允許使用crontab命令。
如果 /etc/cron.allow和 /etc/cron.deny 都不存在, 根據(jù)配置參數(shù)的不同,僅有超級用戶允許使用這個命令或者所有的用戶都允許使用。
如果 /etc/cron.allow和 /etc/cron.deny 都存在,/etc/cron.allow的優(yōu)先級大于/etc/cron.deny,因此/etc/cron.deny可以被忽略,但是如果想使用此命令,必須在/etc/cron.allow中明確列出用戶。
/var/spool/cron/,所有用戶crontab文件存放的目錄,以用戶名命名。
參數(shù):
-u:用來設(shè)定某個用戶的crontab服務(wù),例如,“-u liujl”表示設(shè)定liujl用戶的crontab服務(wù),此參數(shù)一般有root用戶來運行。
-l:顯示某個用戶的crontab文件內(nèi)容,如果不指定用戶,則表示顯示當(dāng)前用戶的crontab文件內(nèi)容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認(rèn)刪除當(dāng)前用戶的crontab文件。
-e:編輯某個用戶的crontab文件內(nèi)容。如果不指定用戶,則表示編輯當(dāng)前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認(rèn)提示。
file:file是命令文件的名字,表示將file做為crontab的任務(wù)列表文件并載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標(biāo)準(zhǔn)輸入(鍵盤)上鍵入的命令,并將它們載入crontab。
常用選項:
-l 查看作業(yè)隊列,相當(dāng)于atq
-f 從某個指定文件文件中讀取作業(yè)任務(wù),不通過交互式輸入。
-d 刪除指定的作業(yè)任務(wù),相當(dāng)于atrm。
-c 查看指定作業(yè)具體內(nèi)容。
-q QUEUE指明隊列。
TIME時間格式有:
HH:MM 小時:分鐘 例如04:00
HH:MM YYYY-MM-DD 小時:分鐘 年-月-日 例如15:00 2017-11-25
HH:MM[am|pm] [Month] [Date] 例如:04pm July 30
HH:MM[am|pm] + number [minutes|hours|days|weeks]在某個時間點再加幾個時間后執(zhí)行
例如:now + 5minutes 5分鐘后執(zhí)行
04pm + days三天后下午4點執(zhí)行
[root@dxlcentOS ~]# at 15:55 2017-11-25 在15點55分執(zhí)行:切換到tmp目錄,執(zhí)行l(wèi)s命令
at cd /tmp
at ls
at EOT
job 3 at Sat Nov 25 15:55:00 2017
注意:輸入結(jié)束后按ctrl+d,任務(wù)輸入結(jié)束at EOT,執(zhí)行結(jié)果屏幕不會顯示,會以郵件形式發(fā)送到郵箱。要是沒有mail命令,進(jìn)行yum -y install mailx安裝。
執(zhí)行周期性任務(wù)要確保crond守護(hù)進(jìn)程在運行。
執(zhí)行pstree,要是crond運行起來可以看到。
或者執(zhí)行:~]# systemctl status crond (centos7)
Active: active (running) ... ...
centos6:~]# service crond status
... is running
有時候為了安全起見,可以將不允許某些用戶執(zhí)行周期性任務(wù)的用戶名添加到/etc/cron.deny文件里面即可。
cron任務(wù)分類:分系統(tǒng)cron任務(wù)和用戶cron任務(wù)
總結(jié):1.cron周期任務(wù)最小時間單位是分鐘。
2.定義COMMAND時,如果命令需要用到%,需要對其轉(zhuǎn)義;但放置于單引號中的%不用轉(zhuǎn)義亦可。
3.某任務(wù)在指定的時間因關(guān)機未能執(zhí)行,下次開機不會自動執(zhí)行。
4.當(dāng)修改之前定好的任務(wù)或新增循環(huán)任務(wù)時最好執(zhí)行一下systemctl restart crond。
5.如果是系統(tǒng)管理使用的循環(huán)任務(wù)最好寫入/etc/crontab。
6.避免系統(tǒng)資源分配不均,周與日月不可以同時并存。
cron循環(huán)任務(wù)設(shè)定后,要是服務(wù)器因意外關(guān)機,那么在停機期間,cron設(shè)定的循環(huán)任務(wù)是不會運行的,當(dāng)服務(wù)器開機后,也不會執(zhí)行過去到達(dá)時間點的循環(huán)任務(wù),只能等待下個時間點到來才執(zhí)行。要想重新執(zhí)行,anacron就可以解決這個問題。
anacron 是一個程序不是一個服務(wù),當(dāng)centos進(jìn)入crontab排程時,anacron 會主動每一小時運行一次。
設(shè)置如下:
1)通過命令【crontab -e】編寫計劃任務(wù)
2)按【i】鍵編寫,最后按【esc】【:wq】保存并退出
Linux系統(tǒng)的知識你可以看黑馬程序員視頻庫的Linux教程,零基礎(chǔ)都能學(xué)的。
網(wǎng)頁名稱:linux中計劃周期命令 linux計劃任務(wù)每周運行一次
文章位置:http://chinadenli.net/article22/dojogcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、域名注冊、商城網(wǎng)站、服務(wù)器托管、小程序開發(fā)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)