1. 程式人生 > >延時任務和定時任務

延時任務和定時任務

延時及定時任務

1延遲任務
at命令發起的任務都是一次性的
at +time
>命令
>ctrl+d 表示發起動作

技術分享

at -l | atq 查看延遲任務

-d | atrm 取消指定任務
-c 查看任務內容

技術分享

技術分享

@@由於使用-c查看的內容較多,因此只截取了部分圖片

-now+1min 延遲一分鐘
-f file 延遲執行文件中的內容

技術分享

at命令執行權力的設定

/etc/at.deny ##延遲任務用戶黑名單,在此名單中出現的用戶不能執行at命令

@@先創建一個普通用戶,切換到普通,此時還未編輯/etc/at.deny下的內容,發現普通用戶可以使用at命令執行任務。

技術分享

@@此時編輯/etc/at.deny,這是一個黑名單,加入剛剛創建的普通用戶,重復上面的操作

技術分享

技術分享

/etc/at.allow ##延遲任務用戶白名單,名單默認不存在,一旦出現,黑名單即失效
##系統所有用戶默認不能執行at命令,只有白名單中出現的才能夠執行

@@白名單是默認不存在的,一旦編輯,只有出現在白名單中的用戶才能執行at命令,但是root用戶是不在此權限中的

編輯/etc/at.allow,在其中加入westos用戶時

技術分享

2.定時任務

定時任務是永久的

定時任務程序crond,在系統中每分鐘做一次任務掃描

crontab -u username -e 建立定時任務

技術分享

-r 刪除定時任務

-l 查看定時任務

技術分享

定時任務的格式

* * * * * 命令

^ ^ ^ ^ ^

分 時 天 月 周

eg:

* * * * */5 ##每周五

* * * * /1-15 * ##每月的1-15號

* * /3 * * * ##每隔三個小時

vim /etc/cron.d/filename
分鐘 小時 天 月 周 用戶 動作
* * * * * root rm -fr /mnt/* ##超級用戶梅分鐘清理一次 /mnt

技術分享

@@一個窗口執行命令另一個窗口做監控

技術分享

@@一分鐘後,/mnt/被清理

crondtable命令的執行權力的設定

/etc/crond.deny ##定時任務用戶黑名單,在此名單中出現的用戶不能執行crond命令

@@在/etc/crond.deny中加入westos用戶

技術分享

/etc/crond.allow ##定時用戶白名單,名單默認不存在,一旦出現,黑名單即失效
##系統用戶默認不能執行crond命令,只有白名單中出現的才能執行

@@白名單的用戶權限高於黑名單,當在白名單中加入westos用戶時,發現黑名單失效,westos用戶可以執行crond命令

系統臨時文件
系統中服務在正常運行時會產生臨時文件
/usr/lib/tmpfiles.d/*conf ##系統中臨時文件的配置(必須以.conf 結尾)


文件類型 文件名稱 文件權限 文件所有人 文件所有組 文件存在時間
d /mnt/test 777 root root 1min

在/mnt下令時建立一個test目錄

技術分享

systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##執行臨時文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理臨時文件

技術分享

技術分享

@@在test下建立文件,在第一分鐘內,執行清理命令發現沒有被刪除,第二分鐘時,文件被自動清理



延時任務和定時任務