一、系統延時任務(到指定時間執行後就會消失,臨時生效)
1.at 指令的基本用法
at 23:37 ##設定任務執行時間,具體的時間
at> touch /mnt/file{1..3} ##任務動作
at> <EOF> ##ctrl+d即可,任務動作輸入後,<EOF>不是手動輸入的
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL90TQONza61keVRVT1w2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2gjM3MTNxkTM3ATNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
at now+1min ##延時1分鐘後執行(根據crtl+d 時的時間算)
at> rm -fr /mnt/file{1..3} ##任務動作
at> <EOF> ##ctrl+d即可,任務動作輸入後,<EOF>不是手動輸入的
at -l | atq ##檢視任務清單(隻顯示未執行的任務)
at -c 任務号 ##檢視任務内容(檢視内容較多)
at -r 任務号 ##取消任務執行
注意:
當任務有輸出時,輸出會以郵件的型是發送給at任務的發起者
mail -u root ##檢視超級使用者郵件
1 ##檢視第一封郵件
q ##退出
> /var/spool/mail/root ##清空郵件
2.at 任務的黑白名單(即 at 任務的可執行權限設定)
黑名單本身存在,而白名單本身不存在,但是當白名單被建立出來,黑名單立即失效,以白名單中的使用者名為準,是以白名單的優先級高于黑名單。
/etc/at.deny ##系統中預設存在,在此檔案中出現的使用者不能執行at
/etc/at.allow ##系統中預設不存在,當檔案出現,普通使用者不能執行at
##隻有在名單中的使用者可以,并且/etc/at.deny失效
二、系統定時任務
##與延遲任務相比,定時任務是永久的,而延遲任務是臨時的。
而且定時任務程式crond,在系統中每分鐘做任務掃描,是以最短時間為一分鐘。
1.
crontab
編寫任務的時間表示方式
2.開啟系統的
crontab
服務
systemctl start crond
3.
crontab
任務的建立
crontab -e -u root ##以root身份建立定時任務
crontab -l -u root ##檢視root使用者的定時任務
crontab -r -u root ##删除root使用者的定時任務
cat /var/spool/cron/root ##檢視建立定時任務後生成的檔案内容
4.檔案方式設定定時任務(可以建立多個使用者的多個任務)
vim /etc/cron.d/file ##檔案名稱任意
5.
crontab
的黑白名單設定(這兩個名單都不會影響/etc/cron.d/目錄中已有定時任務的發起及執行)
##與at的黑白名單類似,此處不再詳細比較
/etc/cron.deny ##系統中預設存在,在此檔案中出現的使用者不能執行crontab
/etc/cron.allow ##系統中預設不存在,當檔案出現,普通使用者不能執行crontab
##隻有在白名單中的使用者可以,并且/etc/at.deny失效
四、系統中臨時檔案的管理
##系統中服務在正常運作時會産生臨時檔案,在系統中 /usr/lib/tmpfiles.d/ 目錄下存放
1.臨時檔案的書寫格式
d | 檔案類型 |
---|---|
/run/user | 檔案名 |
0755 | 檔案權限 |
root | 檔案所有人 |
root | 檔案所有組 |
- | 檔案存在時間 |
2.建立一個臨時目錄
cd /usr/lib/tmpfiles.d/
ls
vim westos.conf
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##建立出檔案中設定的臨時檔案儲存目錄
touch /westos/yy/file1
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理調超過設定生命周期的檔案,此處為10s,沒有超過10s的檔案無法删除