單次計劃任務:
特點:
單次指定時間的一次延時執行,交互式設定計劃任務
在一個指定的時間裏面只能執行一個指定的任務,並且只執行一次,重要的事情再說一遍,只執行一次,且需要開啓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