at一次性任務設置

    使用at命令設置值的計劃任務只在指定時間點執行一次,前提是對應的系統服務atd必須已經運行。需要注意的是,計劃任務的時間、日期必須安排在當前系統的時刻之後,否則無法正確設置計劃任務。At的服務名爲atd。

設置一次性計劃任務時,在at命令行中一次指定計劃執行任務時間、日期作爲參數(若只是指定時間則表示當前的該時間,若只指定日期則表示該日期的當前時間),確認後將進入帶“at>”提示符的任務編輯界面,每行設置一條執行命令,可以依次設置多條語句,最後按ctrl+D組合件提交任務即可。所設置的命令操作將在計劃的時間點被一次執行。
如:統計某一時間點root用戶運行的進程數量,並將其值保存到/tmp/ps.root文件中。


[root@c7-44 ~]# at 10:10 2020-05-21
at> pgrep -u root | wc -l >/tmp/ps.root
at> <EOT>
at>  #ctrl+D 保存退出
job 2 at Thu May 21 10:10:00 2020
Can't open /var/run/atd.pid to signal atd. No atd running?

查看任務

已經設置,但是還未執行的計劃任務,可以通過atq命令(at -l)進行查詢。但是已經執行過的任務將不會再出現在列表中了

[root@c7-44 ~]# at -l
2       Thu May 21 10:10:00 2020 a root
[root@c7-44 ~]# atq
2       Thu May 21 10:10:00 2020 a root

若要刪除指定編號的at任務,可以使用命令atrm(at –d pid)命令。刪除後的at任務將不會被執行,並且不會顯示在atq命令顯示的列表中。問:已經執行過的任務是否可以刪除?


[root@c7-44 ~]# atq
2       Thu May 21 10:10:00 2020 a root
[root@c7-44 ~]# at -d 2   
#atrm 1 也可以
[root@c7-44 ~]# atq

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