記兩種計劃任務

單次計劃任務:

特點:

單次指定時間的一次延時執行,交互式設定計劃任務
在一個指定的時間裏面只能執行一個指定的任務,並且只執行一次,重要的事情再說一遍,只執行一次,且需要開啓atd進程。

關於atd服務進程:

當需要一次性計劃任務的時候我們需要有相關的服務開啓。在我們進行使用at一次性任務服務的時候我們來看一下相關的服務是否已近開啓成功。

可以看到我們的7.0系統默認已經開啓了,如果服務被關閉了,或者服務默認沒有開啓,我們可以試一下下面的方式:

開啓atd服務:

在紅帽7.0之前我們通過以下的方式進行服務的處理:

/etc/init.d/atd  {start|stop|restart|status|condrestart}   ##分別實現的功能是開啓,關閉,重啓,狀態查看,開啓重啓。
restart : 強制重啓,開啓了重新啓動,未開啓也會開啓服務。
condrestart:重啓,開啓了的服務進行重新啓動沒有開啓的服務不進行啓動服務。

at計劃任務的執行方式:

at命令用於產生需要運行的計劃任務,並將任務以文檔的方式寫入/var/spool/at/目錄裏面。
在沒有設置過相關的計劃服務的時候,我們來看以下這個文件裏面有司馬,僅有一個spool文件但是裏面什麼都沒有。

下面我們添加一個at計劃任務

可以發現在/var/spool/at/ 目錄下面出現了一個文件。

常用命令:

at

at + 時間        ##進入計劃任務設定 (ctl+d 退出設定模式,重要的事情再說一遍,ctl+d 退出交互輸入計劃任務)
at -l  (或atq) ##查詢計劃任務編號信息
atrm + 計劃任務編號  (或at -d)  ##刪除設定過的計劃任務
at -c + 計劃任務編號     ##查看相關的計劃任務的信息(其實是打開當生成計劃任務的時候在/var/spool/at文件裏面生成的相應的文件信息)
at -f + 文件     ##at命令讀入的方式默認是交互式讀入,這個參數可以指定讀人爲文件,在進行腳本書寫的時候比較方便。

時間格式:

1.明確時間表示法:

hh:mm ##在今天的固定時分進行執行,如果時間已經過了,明天執行。
hh:mm YYYY-MM-DD ##固定的某年某月執行

2.模糊時間表示法:

now + 5min ##五分鐘後(now 可以變爲具體明確的單位時間,5min 可以是以days years months 爲單位的時間間距 )
4pm tomorrow ##明天下午4點(am也可用)

一個實例:


at命令的安全性:

計劃任務,由於有一個隱蔽的特性,容易被利用在不知覺的情況下,信息定時外流,造成損失。默認所有的用戶均有權力進行at命令的使用。At的機制讓我們可以進行編輯,使權限有很好的使用:

一些相關文件:

/etc/at.deny ##at計劃任務黑名單 (存在名單裏面的用戶不可使用,但是不存在的或新建用戶不起作用)




/etc/at.allow ##at計劃任務白名單(這個個文件默認不存在。當這個名單創建,所有用戶不可用,除非在文件裏面指定了)

當allow文件出現我們的所有用戶權限都沒有了。

編輯文件後kiosk用戶得到權限。




=========================

例行性計劃任務:

特點 :

at爲單次計劃任務執行,而crontab 爲循環的多次例行性計劃任務。

crontab 的執行原理:

crontab -e 執行創建計劃任務拍程,首先會在/tmp/目錄下讀取/var/spool/cron/目錄裏面相應的用戶命令保存的信息,生成臨時文件,書寫完成保存覆蓋/var/spool/下面的相對應的用戶目錄。

crond工作:

crond服務的最低偵測限制是分鐘,所以cron會每分鐘去讀取一次相關的服務設定文件。

常用命令:

crontab

-e      ##編輯定期任務  (目錄存在/var/spool/cron/)
-l      ##顯示定期任務
-r      ##刪除當前用戶的所有的定期任務(如果要刪除特定的計劃任務可以通過 -e 命令進行單條的刪除)


格式:


crontab的安全性:

/etc/cron.deny    ##默認存在系統中,在此列表中出現的用戶被禁止
/etc/cron.allow   ##默認在系統中不存在,但是當此文件存在時,deny文件失效,並且所有普通用戶能執行crontab的權力被禁止,只有在此文件中的用戶可以執行crontab

一些相關文件:

/etc/crontab       ##循環例行性任務的記錄文件(這個文件屬於系統管理員或者系統維護工作的使用)
/etc/cron.d/ 目錄   ##該文件文件裏面保存crontab命令內容
/var/spool/cron/ 目錄  ##在這個目錄下會生成以用戶爲分界的文件,保存crontab命令的內容
/var/log/cron      ##cron每次運行的工作會被記錄到這個文件裏面,(查詢病毒或侵入有效)


注:兩種計劃任務的設定,當有返回內容的時候會通過mail方式查看


all

發佈了36 篇原創文章 · 獲贊 16 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章