建站服務(wù)器
這篇文章主要介紹linux下的定時任務(wù)可以分為幾類,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
定時任務(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 atdat權(quán)限管理
當(dāng)使用at來產(chǎn)生新的任務(wù)時,該任務(wù)就會以文本文件形式被放到/var/spool/at目錄下。
# ll /var/spool/attotal 8-rwx------ 1 root root 2890 nov 7 16:30 a0000201981b23 <===== at產(chǎn)生的文件drwx------ 2 daemon daemon 4096 nov 7 16:27 spool對于at的權(quán)限管理,系統(tǒng)有兩個專門的文件來指定。這兩個文件,其實就和我們理解的黑白名單一樣。這兩個文件分別是/etc/at.deny(黑名單)、/etc/at.allow(白名單)。系統(tǒng)默認(rèn)的at.deny的內(nèi)容為空,而對于/etc/at.allow系統(tǒng)默認(rèn)是不存在的。如果這兩個文件都不存在,則只有root用戶可以使用at命令。
at命令詳解
我們來看看如何使用at這個命令。
設(shè)置計劃任務(wù)
使用at命令設(shè)置計劃任務(wù) at [-m] 時間,常用的時間格式——hh:mm yyyy-mm-dd,此外還可以使用英文的now 1 minutes類似形式設(shè)置。
# at 17:00 2020-11-11at> date >> /root/at.txtat> <eot> <=== 這里輸入ctrl d來結(jié)束job 3 at wed nov 11 17:00:00 2020# at now 5 minutesat> date >> /root/at.txt at> <eot>job 4 at sat nov 7 17:01:00 2020查看計劃任務(wù)
使用-l選項可查看計劃任務(wù),如果想看具體的命令可以使用-c選項。除此之外,還可以使用atq命令來查看。
# at -l6 sat nov 7 17:13:00 2020 a root3 wed nov 11 17:00:00 2020 a root# atq6 sat nov 7 17:13:00 2020 a root3 wed nov 11 17:00:00 2020 a root移除計劃任務(wù)
還未執(zhí)行的計劃任務(wù),可以通過at -d或atrm來刪除。
# at -d 3# atrm 6使用at來生成計劃任務(wù)還有一個好處就是,可以完成脫機(jī)管理工作。
以上是linux下的定時任務(wù)可以分為幾類的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注資訊頻道!