延遲任務
- 延遲任務的發起
- 開啓兩個窗口,一個窗口對/mnt/進行監控
watch -n1 ls -lR /mnt/
- 另一個窗口在/mnt/下創建目錄
at 16:12 ##執行時間
> rm -fr /mnt/* ##執行內容
>[ctrl]+[d] ##任務發起
命令 | 作用 |
---|---|
at -l | 查看任務隊列 |
at -c 任務號 | 查看任務內容 |
at -r 任務號 | 取消任務 |
2. 當延遲任務有輸出,輸出會以郵件形式發送到任務發起者郵箱中
- 安裝相關的服務,並且開啓服務
dnf install mailx postfix
systemctl start postfix
systemctl enable postifx
mail -u root
查看root用戶的郵件- No mail for root 表示root用戶沒有郵件
>/var/mail/root
清空root郵件
- 例如:
at 10:30
timedatectl ##此命令有輸出但不會顯示到字符設備中
- 此命令輸出會用郵件發送給at發起人
[root@rhel8_node1 ~]# mail -u root
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/mail/root": 1 message 1 new
>N 1 root Sat Feb 22 10:27 27/1226 "Output from
your job " ##at輸出郵件
- & 1輸入郵件編號查看
- &q 退出
- at命令的控制
/etc/at.deny
at控制黑名單,此名單中的人不能執行at/etc/at.allow
此文件默認不存在,當此文件存在/etc/at.deny
不生效- 當此文件存在系統普通用戶默認不能執行at,只有在名單中的人可以執行at.
定時任務
- crond 定時任務服務
systemctl status crond
查看任務是否開啓(一般是一直開啓的,並且開機啓動)
crond 設定方式
命令設定方式: 用戶級別定時任務
crontab -u root -e
設定crontab -u root -l
查看crontab -u root -r
刪除/var/spool/cron/root
任務存儲位置
- 設定的寫法:時間 + 任務
- 分鐘 小時 天 月 周 系統命令|腳本
05 17 13 06 6 rm -fr /mnt/*
在週六,6月13,17:05刪除/mnt/下的所有文件
- 時間設定舉例
- 08-17 * * * * ##每天每小時08分-17分
- 08-17 * * * 3,5 ##每週3和週五每小時08分-17分
- 08-17/2 * * * 3,5 ##每週3和週五每小時08分-17分時間段每隔2分鐘
- 08-17/2 10 * * 3,5 ##每週3和週五10點08分-17分時間段每4隔2分鐘
- 08-17/2 10 5 * 3,5 ##每週3和週五及每月5號10點08分-17分時間段每隔2分鐘
- 08-17/2 10 5 3 3,5 ##3月每週3和週五及3月5號10點08分-17分時間段每隔2分鐘
配置文件方式設定: 系統級別cron,只有超級用戶可操作
-
/etc/cron.d
系統級別cron設定文件存放路徑 -
vim /etc/cron.d/myr
cron設定文件.myr爲文件名,文件名任意,自己設定
-
時間 用戶 動作(格式)
root rm -fr /mnt/* -
/etc/下的幾個目錄
-
/etc/cron.daily/ ##每天任務
-
/etc/cron.hourly/ ##每小時任務
-
/etc/cron.monthly/ ##每月任務
-
/etc/cron.weekly/ ##每週執行動作
用戶級別crond控制設定
vim /etc/cron.deny
cron用戶名單,用法同at.deny(黑名單)vim /etc/cron.allow
白名單,若白名單存在,則黑名單不起作用,且普通用戶沒有權限,只有白名單內的人可以操作- 注意:定時任務中,如果有輸出的話,不會顯示在控制檯內,也會發送到郵箱,查看方法與延遲方法中相同。