1、at命令簡介:
at命令允許指定Linux系統何時執行腳本,at命令會將作業提交到隊列中,指定shell在何時執行該作業。at的守護進程atd會以後臺模式執行,檢查作業隊列來執行作業。atd守護進程會檢查系統上的一個特殊目錄來獲取at命令的提交的作業。默認情況下,atd守護進程每60秒檢查一次目錄。有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。
2、at命令格式:
at (選項)(參數)
ctrl+D 結束at命令的輸入
在使用at命令的時候,一定要保證atd進程啓動。
ps -ef | grep atd 檢視atd進程是否啓動。如果沒有啓動使用 /etc/init.d/atd start or restart
chkconfig atd on 設定atd開機啓動
3、命令參數:
-m 當指定的任務被完成之後,將給用戶發送郵件,即使沒有標準輸出
-I atq的別名. atq命令可以檢視系統中等待的作業
-d atrm的別名. atrm命令可以刪除系統中的等待作業,後面加上要刪除的作業id
-v 顯示任務將被執行的時間
-c 打印任務的內容到標準輸出
-V 顯示版本資訊
-q<列隊> 使用指定的列隊
-f<檔案> 從指定檔案讀入任務而不是從標準輸入讀入
-t<時間參數> 以時間參數的形式提交要執行的任務
4、時間設定:
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(明天)來指定完成命令的時間。