定時任務(wù)是操作系統(tǒng)提供給我們的一個非常好的功能,我們經(jīng)常用定時任務(wù)來處理一些事情,比如每天定時備份網(wǎng)站數(shù)據(jù)、每個月執(zhí)行下數(shù)據(jù)統(tǒng)計程序、監(jiān)控服務(wù)器的運行情況(發(fā)生錯誤時給管理員發(fā)消息通知)等等,這些都需要定時任務(wù)來完成。
linux下的定時任務(wù)分為兩大類:只執(zhí)行一次的定時任務(wù),周期性執(zhí)行的定時任務(wù)。今天,我們一起來看看只執(zhí)行一次的定時任務(wù),關(guān)于周期性執(zhí)行的定時任務(wù),將會在接下來的一篇文章中表述。
atd服務(wù)
只執(zhí)行一次的計劃任務(wù),我們是通過at命令來完成的,想要執(zhí)行at命令則需要先開啟atd服務(wù)。查看atd服務(wù)的運行狀況及開啟atd服務(wù)的命令如下:
#?查看atd服務(wù)狀況 #?systemctl?status?atd? #?開啟atd服務(wù) #?systemctl?start?atd
at權(quán)限管理
當(dāng)使用at來產(chǎn)生新的任務(wù)時,該任務(wù)就會以文本文件形式被放到/var/spool/at目錄下。
#?ll?/var/spool/at total?8 -rwx------?1?root???root???2890?Nov??7?16:30?a0000201981b23??<p>對于at的權(quán)限管理,系統(tǒng)有兩個專門的文件來指定。這兩個文件,其實就和我們理解的黑白名單一樣。這兩個文件分別是/etc/at.deny(黑名單)、/etc/at.allow(白名單)。系統(tǒng)默認的at.deny的內(nèi)容為空,而對于/etc/at.allow系統(tǒng)默認是不存在的。如果這兩個文件都不存在,則只有root用戶可以使用at命令。</p><p><strong><span style="font-size: 24px;">at命令詳解</span></strong></p><p>我們來看看如何使用at這個命令。</p><p><strong><span style="font-size: 20px;">設(shè)置計劃任務(wù)</span></strong></p><p>使用at命令設(shè)置計劃任務(wù) at [-m] 時間,常用的時間格式——HH:MM YYYY-MM-DD,此外還可以使用英文的now +1 minutes類似形式設(shè)置。</p><pre class="brush:php;toolbar:false">#?at?17:00?2020-11-11 at>?date?>>?/root/at.txt at>?<eot>???date?>>?/root/at.txt???????? at>?<eot> job?4?at?Sat?Nov??7?17:01:00?2020</eot></eot>
查看計劃任務(wù)
使用-l選項可查看計劃任務(wù),如果想看具體的命令可以使用-c選項。除此之外,還可以使用atq命令來查看。
#?at?-l 6?Sat?Nov??7?17:13:00?2020?a?root 3?Wed?Nov?11?17:00:00?2020?a?root #?atq 6?Sat?Nov??7?17:13:00?2020?a?root 3?Wed?Nov?11?17:00:00?2020?a?root
移除計劃任務(wù)
還未執(zhí)行的計劃任務(wù),可以通過at -d或atrm來刪除。
#?at?-d?3 #?atrm?6
使用at來生成計劃任務(wù)還有一個好處就是,可以完成脫機管理工作。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END