1. 程式人生 > >Linux系統的延時定時任務

Linux系統的延時定時任務

########系統的延時任務########
1.touch /mnt/file{1…9} 在/mnt下建立9個檔案
watch -n 1 ls -l /mnt ##監控mnt下的檔案
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
2.at time ##延時動作
ctrl+d ##執行這個任務
在圖中的實驗我們可以看到在20.13時我們刪除mnt下的所有東西
在這裡插入圖片描述
在這裡插入圖片描述
3.我們多建幾個任務來說明以下的命令
at -l ##顯示任務列表
在這裡插入圖片描述
at -c ##顯示任務內容
在這裡插入圖片描述
在這裡插入圖片描述//可以看到這裡是任務執行時發生的動作
at -r ##取消指定任務 /此處取消任務3
在這裡插入圖片描述
在這裡插入圖片描述
可以看到取消了任務3,任務3沒有執行,mnt下的檔案還在

4.vim /etc/at.deny ##黑名單 //在名單中出現的使用者不能進行延時任務
在這裡插入圖片描述


在黑名單中寫入student使用者
在這裡插入圖片描述
以student使用者執行延時任務會發現不可以
在這裡插入圖片描述
5.vim /etc/at.allow ##白名單 白名單出現的使用者可以執行延時任務,其他使用者都不可以
注:白名單存在時黑名單無效
此處我們再次寫入student使用者
在這裡插入圖片描述
在這裡插入圖片描述
以student使用者身份執行延時任務,發現可以,前面的黑名單已經不起作用了
在這裡插入圖片描述

#########系統定時任務#########
使用者級定時任務
1.我們在mnt下建立9個檔案,並遞迴監視
在這裡插入圖片描述
在這裡插入圖片描述
2.
crontab -e ##編寫定時檔案
內容格式:

            • 執行的任務 ##分時天月周
              */n 每隔n單元
              */2 09-17 1,15 7 2 ##7月的1號和15號及每週二的9點到17點期間每兩分鐘執行一次
              在這裡插入圖片描述

              /var/spool/cron/username /此任務檔案所在地
              3.crontab -l /檢視定時任務
              在這裡插入圖片描述
              crontab -r /取消定時任務
              /var/spool/cron/username /任務檔案所在地
              crontab -u username -e|l|r 以某個使用者身份執行動作|在root下執行無視黑白名單
              4.實驗結果 每分鐘1秒開始時執行了任務
              在這裡插入圖片描述
              5.vim /etc/cron.deny /使用者黑名單 /在此名單下的使用者無法進行定時任務
              在這裡插入圖片描述
              我們在黑單裡寫入student使用者
              在這裡插入圖片描述
              發現student使用者無法進行定時任務
              在這裡插入圖片描述
              6.vim /etc/cron.allow /使用者白名單,這個生效,使用者黑名單失效,且只有名單中的使用者可以執行定時任務
              其他人不可以
              在白名單中寫入student使用者
              在這裡插入圖片描述

              在這裡插入圖片描述
              發現student可以進行定時任務,不受前面黑名單的影響
              在這裡插入圖片描述

系統級定時任務
1.先建立實驗物件 在mnt下建立9個檔案
並進行監視
在這裡插入圖片描述
在這裡插入圖片描述
2.在/etc/cron.d/下建立定時檔案 系統定時檔案所在目錄
在這裡插入圖片描述
建立一個westos的檔案
在這裡插入圖片描述
寫入定時任務內容
在這裡插入圖片描述
此處和使用者級區別是要加使用者名稱,此處為root使用者
3.進行實驗,發現每分鐘第一秒可以將mnt的東西刪除
在這裡插入圖片描述

########系統的臨時檔案管理#########
1.監視/mnt/下的內容
在這裡插入圖片描述
2.系統臨時檔案所在地
cd /usr/lib/tmpfiles.d/臨時檔案所在地
在這裡插入圖片描述
3.我們建立一個臨時檔案 westo.conf
在這裡插入圖片描述
寫入內容 d /mnt/westos 777 root root 8s
許可權 使用者 組 每隔多長時間執行
在這裡插入圖片描述
4.systemd-tmpfiles --create /usr/lib/tmpfiles.d/* #執行臨時檔案配置
這個命令是執行/usr/lib/tmpfiles.d/下所有的臨時檔案配置
在這裡插入圖片描述
可以看到westos被執行建立了
在這裡插入圖片描述
5.在/mnt/下建立9個檔案供實驗使用
在這裡插入圖片描述
6.systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* #清除臨時檔案
此處這個命令的動作是每隔n秒清空/usr/lib/tmpfiles.d/下所有臨時檔案內容
n為臨時檔案裡面寫的時間 比如前面我們在westos.conf 裡面的8秒
在這裡插入圖片描述
執行完命令8秒清空了mnt下的東西