at
在指定時間執行一個任務
補充說明
at命令 用於在指定時間執行命令。at允許使用一套相當複雜的指定時間的方法。它能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那麼就放在第二天執行。當然也能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的 詞語來指定時間。用戶還能夠採用12小時計時制,即在時間後面加上AM(上午)或PM(下午)來說明是上午還是下午。 也能夠指定命令執行的具體日期,指定格式爲month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必須跟在指定時間的後面。
上面介紹的都是絕對計時法,其實還能夠使用相對計時法,這對於安排不久就要執行的命令是很有好處的。指定格式爲:now + count time-units
,now就是當前時間,time-units是時間單位,這裏能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,究竟是幾天,還是幾小時,等等。 更有一種計時方法就是直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。
語法
1at [-V] [-q 隊列] [-f 文件] [-mldbv] 時間 at -c 作業 [作業...]
選項
1-f:指定包含具體指令的任務文件;
2-q:指定新任務的隊列名稱;
3-l:顯示待執行任務的列表;
4-d:刪除指定的待執行任務;
5-m:任務執行完成後向用戶發送E-mail。
參數
日期時間:指定任務執行的日期時間。
實例
三天後的下午 5 點鍾執行/bin/ls
:
1[root@localhost ~]# at 5pm+3 days
2at> /bin/ls
3at> <EOT>
4job 7 at 2013-01-08 17:00
明天17點鐘,輸出時間到指定文件內:
1[root@localhost ~]# at 17:20 tomorrow
2at> date >/root/2013.log
3at> <EOT>
4job 8 at 2013-01-06 17:20
計劃任務設定後,在沒有執行之前我們可以用atq命令來查看系統沒有執行工作任務:
1[root@localhost ~]# atq
28 2013-01-06 17:20 a root
37 2013-01-08 17:00 a root
刪除已經設置的任務:
1[root@localhost ~]# atq
28 2013-01-06 17:20 a root
37 2013-01-08 17:00 a root
4
5[root@localhost ~]# atrm 7
6[root@localhost ~]# atq
78 2013-01-06 17:20 a root
顯示已經設置的任務內容:
1[root@localhost ~]# at -c 8
2#!/bin/sh
3# atrun uid=0 gid=0
4# mail root 0
5umask 22此處省略n個字符
6date >/root/2013.log
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。