Linux基礎 之 at 命令 延遲&定時命令 和 臨時檔案的清理
一、延遲命令 at
1.系統的延遲命令
at 時間
在/mnt 下新建檔案touch /mnt/file{1..6}
watch -n 1 'ls -l /mnt'用監控命令監控
在另外的shell中測試:
第一種編輯方式:
at 21:27
at> rm -fr /mnt/*
at> <EOT> ctrl+d 執行發起延遲
at -l 檢視延遲命令
at -c 1 延遲檢視內容 為執行 rm -fr /mnt/*
第二種編輯方式:
at now+2min
at> echo hello
at> <EOT> ctrl+d 執行
at -r 4 撤銷延遲命令
當切換到其他使用者時
su - tom 切換其他使用者也可執行at延時命令
at now+1min
at> echo hello
at> <EOT>
at -l 檢視
二、系統延遲命令的黑白名單
vim /etc/at.deny at延遲黑名單
vim /etc/at.allow at延遲命令白名單
編輯vim /etc/at.deny 延遲命令的黑名單 寫入的使用者無法執行延遲命令
例如寫入了student使用者該使用者無法執行at延遲命令
在系統中建立該檔案,當該檔案出現 所有使用者預設為黑名單無法執行at延遲命令touch /etc/at.allow
當編輯vim /etc/at.allow檔案寫入使用者使用者便可以執行at延遲命令(at延遲命令的白名單)
編輯vim /etc/at.allow
例如編輯vim /etc/at.allow寫入 student使用者 student使用者可以執行at延遲命令
刪除該檔案rm -fr /etc/at.allow
三、系統的定時命令
systemctl status crond.service 檢視狀態
crontab -e 編輯
分鐘 小時 天 月 周
* * * * * 每天每分鐘
* 08-17 * * * 每天的早上8點到下午5點
*/2 08-17 * * * 每天的早上8點到下午5點每兩分鐘
*/2 08-17 1,15 * * 每月的1號和15號的早上8點到下午5點每兩分鐘
*/2 08-17 1,15 10-12 * 10月到12月的1號和15號的早上8點到下午5點每兩分鐘
*/2 08-17 1,15 10-12 3 10月到12月的每週週三和1號和15號的早上8點到下午5點每兩分鐘
crontab -e
* * * * * rm -fr /westos/*
cat /var/spool/cron/root
crontab -l 檢視
crontab -u root -r 撤銷定時
crontab -l檢視
crontab -u student -e
root使用者指定student使用者發起定時任務
crontab -u student -l
檢視定時任務
crontab -u student -r
撤銷定時任務
四、系統定時命令的黑白名單
vim /etc/cron.deny 系統定時任務黑名單
vim /etc/cron.allow 系統定時任務白名單
vim /etc/cron.deny 編輯定時任務黑名單寫入普通使用者student
測試student使用者不可以執行定時任務
再次編輯vim /etc/cron.deny清空寫入的內容
定時命令黑名單:
touch /etc/cron.allow新建檔案該檔案出現系統中預設所有使用者不可以執行定時任務(定時任務白名單)
測試:
vim /etc/cron.allow編輯該檔案寫入student
測試:student使用者可以執行定時任務,其他使用者不可以。
測試:
ll /etc/cron.deny 檢視
ll /etc/cron.allow 檢視
rm -fr /etc/cron.allow 刪除該檔案
五、系統級的定時任務
進入cd /etc/cron.d目錄
ls檢視
自己編輯一個 vim westos
裡面寫入
ls檢視
cat westos 檢視westos下的內容
* * * * * root rm -fr /westos/*
systemctl stop crond.service當關閉服務系統級不執行,當下次開機時立即執行
systemctl start crond.service 開啟服務
六、清理系統中的臨時檔案
實驗時在另外的shell中執行監控命令
watch -n 1 'ls -lR /westos/'
cd /usr/lib/tmpfiles.d/ 切換環境
ls
編輯vim westos.conf
d /westos/test 777 root root 10s 在westos下建立test 且許可權為777 10秒清理一次
cat westos.conf 檢視內容
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*生成一個臨時目錄
touch /westos/test/file 在westos目錄下建立檔案
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*清理目錄中的檔案,檔案超過10秒將會被清理
touch /westos/test/file 繼續建立檔案檢視實驗效果使得在清理檔案時file超過10s而file1沒有超過
touch /westos/test/file1
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*清理超過10秒的檔案