Linux如何使用at命令
Linux如何使用at命令
Linux命令中at命令用于列出已計劃的任務(wù),有點類似日歷軟件的提醒功能,使用at命令你就不需要去特地下載有提醒功能的軟件,那么at命令還有那些用途呢?下面學(xué)習(xí)啦小編就給大家介紹下Linux at命令的用法。
在linux系統(tǒng)中你可能已經(jīng)發(fā)現(xiàn)了為什么系統(tǒng)常常會自動的進行一些任務(wù)?這些任務(wù)到底是誰在支配他們工作的?在linux系統(tǒng)如果你想要讓自己設(shè)計的備份程序可以自動在某個時間點開始在系統(tǒng)底下運行,而不需要手動來啟動它,又該如何處置呢? 這些例行的工作可能又分為一次性定時工作與循環(huán)定時工作,在系統(tǒng)內(nèi)又是哪些服務(wù)在負責(zé)? 還有,如果你想要每年在老婆的生日前一天就發(fā)出一封信件提醒自己不要忘記,linux系統(tǒng)下該怎么做呢?
1.命令格式:
at[參數(shù)][時間]
2.命令功能:
在一個指定的時間執(zhí)行一個指定任務(wù),只能執(zhí)行一次,且需要開啟atd進程(
ps -ef | grep atd查看, 開啟用/etc/init.d/atd start or restart; 開機即啟動則需要運行 chkconfig --level 2345 atd on)。
3.命令參數(shù):
-m 當(dāng)指定的任務(wù)被完成之后,將給用戶發(fā)送郵件,即使沒有標準輸出
-I atq的別名
-d atrm的別名
-v 顯示任務(wù)將被執(zhí)行的時間
-c 打印任務(wù)的內(nèi)容到標準輸出
-V 顯示版本信息
-q《列隊》 使用指定的列隊
-f《文件》 從指定文件讀入任務(wù)而不是從標準輸入讀入
-t《時間參數(shù)》 以時間參數(shù)的形式提交要運行的任務(wù)
at允許使用一套相當(dāng)復(fù)雜的指定時間的方法。他能夠接受在當(dāng)天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那么就放在第二天執(zhí)行。當(dāng)然也能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的 詞語來指定時間。用戶還能夠采用12小時計時制,即在時間后面加上AM(上午)或PM(下午)來說明是上午還是下午。 也能夠指定命令執(zhí)行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日。月。年)。指定的日期必須跟在指定時間的后面。 上面介紹的都是絕對計時法,其實還能夠使用相對計時法,這對于安排不久就要執(zhí)行的命令是很有好處的。指定格式為:now + count time-units ,now就是當(dāng)前時間,time-units是時間單位,這里能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數(shù)量,究竟是幾天,還是幾小時,等等。 更有一種計時方法就是直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。
TIME:時間格式,這里可以定義出什么時候要進行 at 這項任務(wù)的時間,格式有:
HH:MM
ex》 04:00
在今日的 HH:MM 時刻進行,若該時刻已超過,則明天的 HH:MM 進行此任務(wù)。
HH:MM YYYY-MM-DD
ex》 04:00 2009-03-17
強制規(guī)定在某年某月的某一天的特殊時刻進行該項任務(wù)
HH:MM[am|pm] [Month] [Date]
ex》 04pm March 17
也是一樣,強制在某年某月某日的某時刻進行該項任務(wù)
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex》 now + 5 minutes
ex》 04pm + 3 days
就是說,在某個時間點再加幾個時間后才進行該項任務(wù)。
4.使用實例:
實例1:三天后的下午 5 點鍾執(zhí)行 /bin/ls
命令:at 5pm+3 days
輸出:
代碼如下:
[root@localhost ~]# at 5pm+3 days
at》 /bin/ls
at》 《EOT》
job 7 at 2013-01-08 17:00
[root@localhost ~]#
說明:
實例2:明天17點鐘,輸出時間到指定文件內(nèi)
命令:at 17:20 tomorrow
輸出:
代碼如下:
[root@localhost ~]# at 17:20 tomorrow
at》 date 》/root/2013.log
at》 《EOT》
job 8 at 2013-01-06 17:20
[root@localhost ~]#
說明: