linux下的定时任务可以分为几类
建站服務(wù)器
這篇文章主要介紹linux下的定時(shí)任務(wù)可以分為幾類,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
定時(shí)任務(wù)是操作系統(tǒng)提供給我們的一個(gè)非常好的功能,我們經(jīng)常用定時(shí)任務(wù)來處理一些事情,比如每天定時(shí)備份網(wǎng)站數(shù)據(jù)、每個(gè)月執(zhí)行下數(shù)據(jù)統(tǒng)計(jì)程序、監(jiān)控服務(wù)器的運(yùn)行情況(發(fā)生錯(cuò)誤時(shí)給管理員發(fā)消息通知)等等,這些都需要定時(shí)任務(wù)來完成。
linux下的定時(shí)任務(wù)分為兩大類:只執(zhí)行一次的定時(shí)任務(wù),周期性執(zhí)行的定時(shí)任務(wù)。今天,我們一起來看看只執(zhí)行一次的定時(shí)任務(wù),關(guān)于周期性執(zhí)行的定時(shí)任務(wù),將會(huì)在接下來的一篇文章中表述。
atd服務(wù)
只執(zhí)行一次的計(jì)劃任務(wù),我們是通過at命令來完成的,想要執(zhí)行at命令則需要先開啟atd服務(wù)。查看atd服務(wù)的運(yùn)行狀況及開啟atd服務(wù)的命令如下:
# 查看atd服務(wù)狀況 # systemctl status atd # 開啟atd服務(wù) # systemctl start atd
at權(quán)限管理
當(dāng)使用at來產(chǎn)生新的任務(wù)時(shí),該任務(wù)就會(huì)以文本文件形式被放到/var/spool/at目錄下。
# ll /var/spool/at total 8 -rwx------ 1 root root 2890 Nov 7 16:30 a0000201981b23 <===== at產(chǎn)生的文件 drwx------ 2 daemon daemon 4096 Nov 7 16:27 spool
對(duì)于at的權(quán)限管理,系統(tǒng)有兩個(gè)專門的文件來指定。這兩個(gè)文件,其實(shí)就和我們理解的黑白名單一樣。這兩個(gè)文件分別是/etc/at.deny(黑名單)、/etc/at.allow(白名單)。系統(tǒng)默認(rèn)的at.deny的內(nèi)容為空,而對(duì)于/etc/at.allow系統(tǒng)默認(rèn)是不存在的。如果這兩個(gè)文件都不存在,則只有root用戶可以使用at命令。
at命令詳解
我們來看看如何使用at這個(gè)命令。
設(shè)置計(jì)劃任務(wù)
使用at命令設(shè)置計(jì)劃任務(wù) at [-m] 時(shí)間,常用的時(shí)間格式——HH:MM YYYY-MM-DD,此外還可以使用英文的now +1 minutes類似形式設(shè)置。
# at 17:00 2020-11-11 at> date >> /root/at.txt at> <EOT> <=== 這里輸入ctrl+d來結(jié)束 job 3 at Wed Nov 11 17:00:00 2020 # at now +5 minutes at> date >> /root/at.txt at> <EOT> job 4 at Sat Nov 7 17:01:00 2020
查看計(jì)劃任務(wù)
使用-l選項(xiàng)可查看計(jì)劃任務(wù),如果想看具體的命令可以使用-c選項(xiàng)。除此之外,還可以使用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
移除計(jì)劃任務(wù)
還未執(zhí)行的計(jì)劃任務(wù),可以通過at -d或atrm來刪除。
# at -d 3 # atrm 6
使用at來生成計(jì)劃任務(wù)還有一個(gè)好處就是,可以完成脫機(jī)管理工作。
以上是linux下的定時(shí)任務(wù)可以分為幾類的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
總結(jié)
以上是生活随笔為你收集整理的linux下的定时任务可以分为几类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统中进程管理作用是什么
- 下一篇: linux中rm -rf/*是什么意思