Linux系統的定時任務與延時任務

定時任務是永久的
延時任務是一次性的
前期準備:通過指令:watch -n 1 ‘ls -l /mnt‘ 監控/mnt目錄內的情況
1.系統的延時任務
1)at 時間 ##設定任務執行時間
at> xxxx ##任務動作
at> ##用ctrl+D發起任務
示例:
在08:05時在/mnt目錄下創建file1-3
在這裏插入圖片描述
在這裏插入圖片描述
2) at now+1min ##延時一分鐘
at>
at>
示例:延時一分鐘刪除目錄/mnt下所有文件
在這裏插入圖片描述
在這裏插入圖片描述

at -l ##查看任務列表
at -c 任務號 ##查看任務內容
at -r 任務號 ##取消任務執行

注意:
當任務有輸出時,輸出會以由檢的形式發送給at任務的發起者
mail -u root ##查看超級用戶郵件
1 ##查看第一封郵件
q ##退出
示例:設定延時任務在不存在的目錄/hello下創建文件file
[root@server_sshd ~]# > /var/spool/mail/root ##清空郵件
[root@server_sshd ~]# at now+1min
at> touch /hello/file
at>

在這裏插入圖片描述
當任務執行完畢後
通過指令 mail -u root 查看root用戶郵件,可以看到有一封郵件
在這裏插入圖片描述
&1 #查看編號爲1的郵件內容在這裏插入圖片描述
最後一行
touch: cannot touch ‘/hello/file’: No such file or directory 即爲郵件內容

& q ##退出

/etc/at.deny ##at命令黑名單,系統默認存在,在此文件中出現的用戶不能執行at命令
/etc/at.allow ##at命令白名單,系統中默認不存在,該文件建立後除root用戶以外,普通用戶不能執行at命令,只有在名單中的用戶可以使用,並且at命令黑名單失效

3.系統定時任務

1)crontab 時間表示方式

* * * * *
* * * * * ##每分鐘
*/2 * * * * ##每兩分鐘
*/2 09-17 * * * ##早9-晚5每兩分鐘,“/“爲每隔多久,“-“爲從多少到多少
*/2 */2 * * * ##每隔兩小時每兩分鐘
*/2 09-17 3,5 1 5 ##1月3號和5號及每週五早9-晚5每兩分鐘,“,“爲幾和幾
*/2 09-17 * * 5 ##每週週五早9晚5

2)系統控制crontab的服務
crond.service ##當程序開啓時定時任務生效

3)crontab

crontab -e -u 用戶名 ##編輯定時任務
crontab -l -u 用戶名 ##列出該用戶所有定時任務
crontab -r -u 用戶名 ## 刪除該用戶所有定時任務
  • crontab -e -u root ##編輯root用戶定時任務
    在這裏插入圖片描述
    在這裏插入圖片描述

  • crontab -l -u root ##列出root用戶所有定時任務
    在這裏插入圖片描述

  • crontab -r -u root ## 刪除root用戶所有定時任務在這裏插入圖片描述

4)文件方式設定定時任務
vim /etc/cron.d/file

* * * * * username action
* * * * * root rm -rf /mnt/*

在這裏插入圖片描述
設置完成後,系統將會定時執行設定的定時任務
5)crontab的黑白名單
/etc/cron.deny ##系統中默認存在,在此文件中出現的用戶不能執行crontab
/etc/cron.allow ##系統中默認不存在,當文件出現,普通用戶不能執行crontab,只有在名單中的用戶可以,並且/etc/cron.allow失效

注意:
這兩個名單都不會影響/etc/cron.d/目錄中定時任務的發起及執行

4.系統中臨時文件的管理方式

cd /usr/lib/tmpfiles.d
vim westos.conf ##編輯設置文件

d /mnt/westos 1777 root root 8s
文件類型 文件路徑 文件權限 所有人 所有組 有效時間

在這裏插入圖片描述

在這裏插入圖片描述
systemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf ##創建臨時文件夾/westos
在這裏插入圖片描述
在westos目錄下創建文件file1,file2
在這裏插入圖片描述
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf
執行清除臨時文件命令,但是由於該文件創立時間沒有超過8s,所以無法清除
在這裏插入圖片描述
超過8s後再次執行清除命令,文件便可以被清除掉了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章