linux 延時任務與定時任務
一.系統延時任務
延遲命令at
at 時間 (系統在何時執行命令)ctrl+d 開始執行
將延時到 17:31刪除此檔案
at now+1min
在一分鐘之後刪除此檔案
at -l 檢視任務列表
at -r 任務號 刪除任務
at -c 任務號
使用者黑名單,此名單預設存在,可以禁止特定使用者執行at命令, vim /etc/at.deny 新增student禁止使用者執行at
建立/etc/at.allow,此名單不存在需要手動建立, 白名單存在時黑名單失效,只有在此名單使用者可以使用at。
二.系統定時任務
系統定時任務所用命令 crontab,定時任務可以完成是由於系統中有 cron.service 服務,關閉服務後定時不生效。
任務建立
crontab -e
此內容表示每分鐘刪除 /root/mkdir 下的所有檔案
crontab -e -u student 以student 使用者發起任務
此檔案有無列內容分別表示
第一列 * 每分鐘 或*/2 (每兩分鐘)
第二列 * 每小時 或(幾點到幾點 (eg:15-24) ) 或者及
第三列 * 每天 或(15,18 15和18號)或(22-27 22到27號)
第四列 * 每月 8(8月) (1,8 一月和八月)
第五列 * 每週 1-5(週一到週五)
檢視任務crontab -l
croutab -u student -l 以student 使用者檢視
任務取消
croutab -u student -r 以student 使用者刪除
定時任務使用者許可權
vim /etc/cron.deny 使用者黑名單,此檔案預設存在,名單中的使用者不能使用定時任務
vim /etc/cron.allow 使用者白名單 ,此檔案存在時,黑名單失效,並且只有此名單中的人可以使用 crontab 。
系統級定時任務
定定時任務除了可以使用crontab 建立之外,還可以在目錄 /etc/cron.d 新建一個檔案 vim westos
* * * * * tom rm -fr /mnt/*
退出儲存後,系統會執行檔案中的內容
三.系統中的臨時檔案管理
cd /usr/lib/tmpfiles.d
ls (.conf 都是系統中的臨時檔案,過期可清理)
建立一個臨時檔案 vim westos.conf (需要以 .conf 結尾 )
d /mnt/westos 777 root root 8s 過8秒就可以清理
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* 建立任務
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* 重新整理任務