計劃任務at、crontab
at一次性計劃任務
格式:
at + 時間
命令
安裝at
# yum install at -y
如果執行at命令時,出現一下情況
Can't open /var/run/atd.pid to signal atd. No atd running?
解決辦法:
# chkconfig --level 35 atd on
# service atd start
普通使用者也能夠做計劃任務
at+未來時間
# at 2018-11-11
Ctrl + d結束所要新增執行的命令
24進位制的時間
# at 10:00 2018-11-11
# at 21:20 2018-11-11
12進位制時間
# at 11am 2018-11-11
# at 9:10pm 2018-11-11
days天
# at 10am+10days
weeks周
# at 10am+10weeks
兩小時後執行任務
檢視計劃任務
兩種方法
#atq
#at -l
檢視具體的計劃任務的內容
# cd /var/spool/at/
# ls
# cat a0000301882038
刪除計劃任務
兩種方法
# atrm 3
# at -d 8
一次刪除多個計劃任務
# atrm {11..14}
凡是在at.deny中的是不允許做計劃任務的,預設為空(黑名單)
# vi /etc/at.deny
預設不存在,需要建立。允許做計劃任務(白名單)
# vi /etc/at.allow
crontab
週期性計劃任務
檢視計劃任務
編輯計劃任務
# crontab -e
#分/分鐘 時/幾點 天/幾號 月/幾月份 周/星期幾 命令 #如何不考慮某個時間單位的話,那麼可以用*來表示,有“每”的意思 0 7 * * * /bin/aa.sh 0,5,10 7 * * * /bin/aa.sh 0,5,10 7 * * 1-5 /bin/aa.sh 0,5,10 7 * * 1-5/1 /bin/aa.sh # /5 每次遞增5 0-10/5 7 * * 1-5 /bin/aa.sh 0-10/5,30 7 * * 1-5 /bin/aa.sh #---------------------------------------------------------------------------------------- 0 7 * 1-3 1-5 /bin/aa.sh 0 7 1-10 1-3 * /bin/aa.sh #分、時、月、周是and的關係 #分、時、天、月也是and的關係 0 7 1-10 1-3 1-5 /bin/aa.sh #天和周是or的關係,滿足一個條件即可 #如果遇到一個比較複雜的問題,那麼把他拆成幾個簡單的問題就行了 #例如 #讓你寫一個計劃任務:每個月最後一天執行/aa.sh 0 2 31 1,3,5,7,8,10,12 * /bin/aa.sh
計劃任務儲存位置
# cat /var/spool/cron/root
刪除計劃任務
# crontab -r
# crontab -l
系統中存在的計劃任務
# ls /etc/cron*
凡是在at.deny中的是不允許做計劃任務的,預設為空(黑名單)
# vi /etc/cron.deny
預設不存在,需要建立。允許做計劃任務(白名單)
# vi /etc/cron.allow
管理系統臨時檔案
臨時檔案存放位置
/tmp/不能刪除該目錄
# systemctl list-unit-files | grep tmpfile
systemd-tmpfiles-setup.service這個服務定期讀取一下三個目錄
# ls /usr/lib/tmpfiles.d/
# ls /run/tmpfiles.d/
# ls /etc/tmpfiles.d/
優先順序從上到下依次增高,最後不要去動上面兩個裡面的內容
建立aa.conf
使aa.conf生效
# systemd-tmpfiles --create aa.conf
# systemd-tmpfiles --clean aa.conf
# cd /usr/lib/systemd/system
# vi systemd-tmpfiles-clean.timer