linux at命令和batch從輸入或指定文件讀取命令
linux at命令和 batch 從標(biāo)準(zhǔn)輸入或一個(gè)指定的文件讀取命令,這些命令在以后某個(gè)時(shí)間用 /bin/sh 執(zhí)行。
linux at命令允許相當(dāng)復(fù)雜的時(shí)間指定,他擴(kuò)展了 POSIX.2 標(biāo)準(zhǔn)。
他接受 HH:MM 的時(shí)間式樣,用來(lái)指定在一天的某個(gè)時(shí)間運(yùn)行一個(gè)作業(yè)。 (如果時(shí)間已過(guò)了則假定為第二天。)
你能指定 midnight (午夜)、 noon (中午) 或 teatime (下午4點(diǎn)),你能用 AM 或 PM 后綴指定一天的上午或下午。
你能給出 month-name day 加上可選的年份的式樣用來(lái)指定運(yùn)行l(wèi)inux at命令的日期,或給出 MMDDYY 、 MM/DD/YY 或 DD.MM.YY 式樣用來(lái)指定運(yùn)行l(wèi)inux at命令的日期。日期的指定必須跟在時(shí)間指定的后面。你也能給出象 now + 計(jì)數(shù) 時(shí)間單位 的式樣,這里的時(shí)間單位能是 minutes 、 hours 、 days 或 weeks, 你能給時(shí)間加一個(gè) today 后綴來(lái)指定linux at命令今天運(yùn)行作業(yè),能給時(shí)間加一個(gè) tomorrow 后綴來(lái)指定linux at命令 明天運(yùn)行作業(yè)。
例如,
要在三天以后的下午 4 點(diǎn)運(yùn)行一個(gè)作業(yè),linux at命令時(shí)間參數(shù)能指定為 4pm + 3 days。
要在7月31日上午10:00運(yùn)行一個(gè)作業(yè), linux at命令時(shí)間參數(shù)能指定為 10am Jul 31,
要在明天上午1點(diǎn)運(yùn)行一個(gè)作業(yè),linux at命令時(shí)間參數(shù)能指定為 1am tomorrow。
使用linux at命令定期運(yùn)行程式 , 2005-12-28 18:16:50 by Johnny
使用linux at命令定期運(yùn)行程式
1. 使用cron運(yùn)行任務(wù)
cron任務(wù)的缺點(diǎn)是計(jì)劃要經(jīng)常運(yùn)行,如果我們只是想要讓特定任務(wù)運(yùn)行一次呢?
那么,這時(shí)候就要用到at監(jiān)視程式了。
設(shè)置linux at命令非常簡(jiǎn)單,指示定運(yùn)行的時(shí)間,那么就會(huì)在哪個(gè)時(shí)候運(yùn)行。linux at命令類(lèi)似打印進(jìn)程,會(huì)把任務(wù)放到/var/spool/at目錄中,到指定時(shí)間運(yùn)行他。
linux at命令相當(dāng)于另一個(gè)shell,運(yùn)行at time命令時(shí),他發(fā)送一個(gè)個(gè)命令,能輸入任意命令或程式。
at now + time命令能在指示任務(wù)。
假設(shè)處理一個(gè)大型數(shù)據(jù)庫(kù),要在別人不用系統(tǒng)時(shí)去處理數(shù)據(jù),比如凌晨2點(diǎn)5分。那么我們就應(yīng)該先建立/home/mj/airplane腳本管理數(shù)據(jù)庫(kù),計(jì)劃處理/home/mj/air-safe文件中的結(jié)果。正常方式是這樣啟動(dòng)下列命令:
# at 2:05 tomorrow
at> /home/mj/airplane > /home/mj/air-safe
at> Ctrl+D
AT Time中的時(shí)間表示方法
時(shí)間 例子 說(shuō)明
Minute at now + 5 minutes 任務(wù)在5分鐘后運(yùn)行
Hour at now + 1 hour 任務(wù)在1小時(shí)后運(yùn)行
Days at now + 3 days 任務(wù)在3天后運(yùn)行
Weeks at now + 2 weeks 任務(wù)在兩周后運(yùn)行
Fixed at midnight 任務(wù)在午夜運(yùn)行
Fixed at 10:30pm 任務(wù)在晚上10點(diǎn)30分開(kāi)始
Fixed at 1:00 12/20/04 任務(wù)在2004年12月20日凌晨1點(diǎn)開(kāi)始
2. 查看目前在等待執(zhí)行的任務(wù)
輸入任務(wù)后,能使用atq命令能看到目前等待執(zhí)行的任務(wù),輸出提供了任務(wù)號(hào)、用戶(hù)和任務(wù)執(zhí)行時(shí)間等信息。
# atq8 2004-12-15 02:05 a mj
里面的a表示是at任務(wù)還是batch命令生成的任務(wù)。
3. 刪除linux at命令任務(wù)
刪除一個(gè)linux at命令任務(wù)比較簡(jiǎn)單,使用atrm命令就能輕松解決。
比如我知道了任務(wù)的隊(duì)列號(hào),那么就能刪除他:
# atrm 8
就刪除了隊(duì)列號(hào)為8的at任務(wù)了。
at -l 列表
at -r 移除
【編輯推薦】