Linux下的定時任務與延時任務

2021-09-28 20:51:41 字數 2654 閱讀 8597

1).延時任務發起命令 at

at 命令可以指定某一任務在將來的特定時間執行。該任務會在與shell會話斷開連線的情況下執行,用at命令將任務設定在一兩分鐘後執行時可以安全登出

at 命令必須指定任務應執行的時間。該指定可以是具體時間和日期,也可以是當前時間的相對時間

在鍵入 at 命令列之後 , 按 enter 並繼續鍵入作業中包含的其他命令。任務可由多個命令組成。完成鍵入要執行的命令後 , 在單獨出現的一行中按 ctrl+d 完成任務

2).at 命令示例

at now+1min    				##1分鐘後

at> touch /mnt/file ##要執行的命令:建立mnt下的file

at> ##按ctrl+d發起任務

注:at後也可以指定具體的時間和日期,要執行的任務可以由多個命令組成

at -l									##檢視任務列表

at -c num ##檢視指定任務

at -r num ##刪除指定任務

/etc/at.deny ##預設存在系統中,在此列表**現的使用者被禁止(黑名單)

/etc/at.allow ##預設在系統中不存在,但是當此檔案存在時,deny檔案失效,並且所有普通使用者能執行at的權力被禁止,只有在此檔案中的使用者可以執行at(白名單)

示例:

vim /etc/at.deny
在該檔案中輸入lee(表示lee使用者被禁止)

當再次切換到lee使用者時發現無法使用延時功能,而切換到其他使用者時發現其他使用者並沒有被禁止

vim /etc/at.allow
在該檔案中輸入lee(表示lee使用者被允許)

當再次切換到lee使用者時發現可以使用延時功能(此時/etc/at.deny檔案仍然存在,但已經失效)

而切換到其他使用者時發現其他使用者無法使用延時功能(只有存在在/etc/at.allow檔案中的使用者被允許,其他使用者執行at的權力都被禁止,這就是白名單的作用)

命令功能

crontab -e

編輯定時任務

crontab -l

顯示定時任務

crontab -r

刪除定時任務

crontab -u 使用者名稱

指定使用者

corn時間表示方式

1* 2* 3* 4* 5* command

– 1*---------- 分鐘

– 2*---------- 小時

– 3*---------- 天

– 4*---------- 月

– 5*---------- 周

示例:時間表示

說明* * * * *

每天的每一分鐘

*/3 * * * *

每3分鐘

03 * * * *

每小時整點過3分鐘

05 05 * * *

每天5:05am

*/5 8-14 1,15 * *

在每月的第1和15天8:00am至2:00pm之間 每隔5分鐘 (在14:00不會執行,最後一次執行是13:55)

儲存系統臨時檔案的路徑:/usr/lib/tmpfiles.d/

vim /usr/lib/tmpfiles.d/***.conf								##在裡面設定臨時檔案內容

systemd-tmpfiles --create /usr/lib/tmpfiles.d/***.conf ##建立

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/***.conf ##清理

臨時檔案內容說明:

Linux 延時任務與定時任務

延時任務 系統的延時任務是通過at命令是實現的,負責這個延時任務的服務是atd服務,通常這個服務是預設開啟的 延時任務的發起過程 1 at time 表示在某一時刻發起任務 2 dosomething 任務具體執行的內容 3 ctrl d 儲存該命令 延時任務的常見命令 延時任務的黑名單 延時任務白...

linux系統下的定時任務與延時任務

at 時間 在指定時間執行命令 at rm rf mnt 命令內容 at ctrl d發起任務 at now 15min 十五分鐘後執行任務 at l 檢視任務列表 c 任務號 檢視指定任務號的任務內容 r 任務號 取消指定任務執行 當延時任務有輸出時 輸出會以郵件的形式傳送給at任務的發起者 可以...

延時任務與定時任務

1.延時任務 at命令的使用 1 開啟終端,在根目錄下建立乙個新的目錄取名為 at 2 進入 at目錄下,執行watch n 1 ls l at命令,對其進行監控 3 同時開啟另乙個終端,執行命令 at 某個將來的具體時刻 表示將來在某個時刻執行你特定的操作 例如下圖便是在17 20在 at目錄下建...