延遲任務、定時任務、
阿新 • • 發佈:2018-12-12
1.延遲任務
(1)at命令:
at 時間 #設定在該時刻要進行什麼操作
at now+數字min #在幾分鐘後要進行什麼操作
at -l #檢視該操作的編號(只能檢視到最新建立但又未執行的操作)
at -c 3 #檢視編號為3要做什麼操做(操作一旦執行便檢視不到了)
at -r 3 #撤回編號為3的操作
例如: [[email protected] ~]# at 16:00 at> touch /mnt/file{1..3} #要做的操作 at> <EOT> #(按ctrl+d) 注:做以上操作時需開啟一個shell用ssh連線相同的虛擬機器 用watch -n 1 ls /mnt 來監控,便於觀察現象
(2)白名單和黑名單的指定:
vim /etc/at.deny #編輯at配置檔案,指定黑名單(即使用者不能執行at操作)
touch /etc/at.allow #建立白名單的配置檔案(系統預設沒有白名單配置檔案。白名單一旦出現,黑名單便會失效,即只有超級使用者能執行at命令)
vim /etc/at.allow #編輯at配置檔案,指定白名單,即指定使用者和root使用者才能>執行at操作
2.定時任務
方法一:(crontab命令) systemctl status crond.service #檢視定時服務是否開啟 crontab -u root -e #發起任務 ############### 58 21 * * * /bin/touch /mnt/file{1..3} #在每天的21:58在/mnt建立file1 file2 file3 crontab -u root -l #檢視任務 crontab -u root -r #刪除所有任務 引數解釋: 分鐘 小時 天 月 周 * * * * * #每天每分鐘 */2 08-17 12 6 3 #6月12日早上8點到下午的5點每隔2分鐘和6月的星期三 即:周和天是獨立的
方法二:(文字的方式)
cd /etc/cron.d #切換路徑
vim westos #名字可隨意取
###########
* * * * * root touch /mnt/file{1..3}
注:做以上操作時需開啟一個shell用ssh連線相同的虛擬機器
用watch -n 1 ls -R /mnt -l 來監控,便於觀察現象
白名單和黑名單的指定: vim /etc/cron.deny #編輯crontab的配置檔案,指定黑名單(即使用者不能執行crontab操作) touch /etc/cron.allow #建立白名單的配置檔案(系統預設沒有白名單配置檔案。白名單一旦出現,黑名單便會失效,即只有超級使用者能執行at命令) vim /etc/cron.allow #編輯at配置檔案,指定白名單,即指定使用者和root使用者才能執行crontab操作 注意:指定多個使用者時需要換行,即編輯配置檔案時不能寫在一行。
3.對臨時檔案的清理
cd /usr/lib/tmpfiles.d/
vim westos.conf #名字可隨便取
############
d /mnt/westos 177 root root 5s
#型別 名稱 許可權 使用者 組 存在時間
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* #creat 建立
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* #clean 清除