記兩種計畫任務

2021-07-16 04:47:31 字數 3210 閱讀 5006

單次指定時間的一次延時執行,互動式設定計畫任務

在乙個指定的時間裡面只能執行乙個指定的任務,並且只執行一次,重要的事情再說一遍,只執行一次,且需要開啟atd程序。

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

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

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

/etc/init.d/atd     ##分別實現的功能是開啟,關閉,重啟,狀態檢視,開啟重啟。

restart : 強制重啟,開啟了重新啟動,未開啟也會開啟服務。

condrestart:重啟,開啟了的服務進行重新啟動沒有開啟的服務不進行啟動服務。

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也可用)

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

/etc/at.allow##at計畫任務白名單(這個個檔案預設不存在。當這個名單建立,所有使用者不可用,除非在檔案裡面指定了)

當allow檔案出現我們的所有使用者許可權都沒有了。

編輯檔案後kiosk使用者得到許可權。

at為單次計畫任務執行,而crontab 為迴圈的多次例行性計畫任務。

crontab -e執行建立計畫任務拍程,首先會在/tmp/目錄下讀取/var/spool/cron/目錄裡面相應的使用者命令儲存的資訊,生成臨時檔案,書寫完成儲存覆蓋/var/spool/下面的相對應的使用者目錄。

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

crontab

-e      ##編輯定期任務  (目錄存在/var/spool/cron/)

-l ##顯示定期任務

-r ##刪除當前使用者的所有的定期任務(如果要刪除特定的計畫任務可以通過 -e 命令進行單條的刪除)

/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

Linux計畫任務

1.at命令 指定乙個時間執行乙個任務。2.cron命令 根據乙個時間表自動執行任務。3.anacron命令 在乙個指定時間間隔錯過後自動執行任務。at命令 安排乙個任務在未來執行,需要乙個系統後台atd程序。4.如果這個程序沒有開啟,那麼執行 etc init.d atd restart chkc...

Oracle計畫任務

oracle計畫任務 每天零晨1 30執行乙個儲存過程 對涉及到 oracle 資料庫,需要定時執行的工作,可以考慮三個方法 1 用 oracle 的job 來完成2 寫個批處理檔案,用 windows 的計畫任務實現3 oracle 中建表,寫過程,外部寫監控程式呼叫 執行緒不斷檢查有沒有要執行的...

Linux 計畫任務

at命令可以在某一指定時間排程一次性作業命令格式 at q x l f file d v time引數含義 q使用指定的佇列來儲存at資料,預設儲存在a佇列,隊列表號為a z,a z總52個 l列出所有的at計畫任務,等同於atq命令 d刪除at計畫任務,等同於atrm v列出所有已經完成單尚未刪除...