linux的at命令
linux的at命令
linux下使用at命令允許linux系統(tǒng)運(yùn)行腳本。下面由學(xué)習(xí)啦小編為大家整理了linux的at命令的相關(guān)知識(shí),希望大家喜歡!
一、linux的at命令詳解
1. at命令介紹
當(dāng)使用shell腳本時(shí),你可能想在某個(gè)特定的時(shí)間運(yùn)行shell腳本,Linux系統(tǒng)中提供了多個(gè)在特定時(shí)間運(yùn)行shell腳本的方法,其中一種方法就是使用at命令。
at命令允許指定linux系統(tǒng)何時(shí)運(yùn)行腳本,at命令會(huì)將作業(yè)提交到隊(duì)列中,指定shell何時(shí)運(yùn)行該作業(yè)。at的守護(hù)進(jìn)程atd會(huì)以后臺(tái)模式運(yùn)行,檢查作業(yè)隊(duì)列來運(yùn)行作業(yè)。atd守護(hù)進(jìn)程會(huì)檢查系統(tǒng)上的一個(gè)特殊目錄來獲取at命令的提交的作業(yè)。默認(rèn)情況下,atd守護(hù)進(jìn)程每60秒檢查一次目錄。有作業(yè)時(shí),會(huì)檢查作業(yè)運(yùn)行時(shí)間,如果時(shí)間與當(dāng)前時(shí)間匹配,則運(yùn)行此作業(yè)。
2. at命令的使用
at命令格式:at [-f filename] time,-f參數(shù)用來指定shell腳本名,time用來指定運(yùn)行時(shí)間。
# 立即運(yùn)行test13.sh腳本
# at命令會(huì)顯示分配給作業(yè)的id和運(yùn)行時(shí)間
$ at -f test13.sh now
job 1 at Sat Dec 17 23:26:09 2016
# atq命令可以查看系統(tǒng)中的等待作業(yè)
$ atq
1 Sat Dec 17 23:26:00 2016
2 Sat Dec 17 23:31:00 2016
3 Sat Dec 17 23:32:00 2016
# atrm命令可以刪除系統(tǒng)中的等待作業(yè),后面加上要?jiǎng)h除的作業(yè)id
$ atrm 1
$ atq
2 Sat Dec 17 23:31:00 2016
3 Sat Dec 17 23:32:00 2016
4 Sat Dec 17 23:36:00 2016
5 Sat Dec 17 23:37:00 20161234567891011121314151617181912345678910111213141516171819
3. at的執(zhí)行時(shí)間設(shè)置
能夠接受標(biāo)準(zhǔn)小時(shí)時(shí)間,hh:mm(小時(shí):分鐘)式的時(shí)間指定。假如該時(shí)間已過去,那么就放在第二天執(zhí)行。例如,13:12。
特定可命名時(shí)間,例如now,noon,teatime(一般是下午4點(diǎn))等比較模糊的詞語來指定時(shí)間。
AM/PM指示符,采用12小時(shí)計(jì)時(shí)制,例如 10:10 AM。
標(biāo)準(zhǔn)日期格式,MMDDYY,MM/DD/YY等,例如12/31/16。
時(shí)間增量,例如now+25 min,10:17+7天。
可以使用today、tomorrow來指定時(shí)間。
二、注意事項(xiàng)
Mac的at命令默認(rèn)的美國(guó)時(shí)間,重新加載com.apple.atrun.plist,終端操作:
sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist1212