1. 程式人生 > >計劃任務at、crontab

計劃任務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