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

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/*  重新整理任務