色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何在Linux上定期定期執行命令腳本

江奕云2年前18瀏覽0評論

如何在Linux上定期定期執行命令腳本?

在Linux上執行定時任務的場景還是很多的,比如說我們要:

定時進行日志文件切割;

定時同步服務時間;

定時備份重要數據;

定時執行任務等。

Linux服務器上要實現定時任務,方式有很多,比如說:cron、anacron、sleep等。那這幾種之間有何區別及該選哪種呢,結合我的經驗談談我的看法以供大家參考。

1、cron(crond)

crond是Linux自帶的一個守護進程,利用它來重復執行指定的任務,時間周期可以按分鐘、小時、天、月、周來執行,現實我們主要也就是靠它來執行定時任務。

這里需要注意的是,crontab是crond進程依懶的任務列表文件(對應配置文件在:/etc/crontab 中,不過系統中也有crontab命令,通過這個命令我們可以編輯任務清單),我們將定時任務記錄在crontab中,任務的執行靠的還是crond守護進程。

2、anacron

anacron(對應配置文件在:/etc/anacrontab 中)可以理解為是cron的一種補充,但兩者定位不同。cron定位是7x24小時不間斷的計劃任務執行者,而anacron是用來處理非7x24小時運行的Linux系統上的crontab的。有點繞口,簡單說就是,假設一臺服務器每周六周日是關閉的,而crontab中有幾條是在周六周日執行的,此時anacron就能發揮作用了。anacron在啟動后會去檢查關機期間哪些任務應該執行卻沒有執行到的crontab任務,找到這些任務,執行完,然后anacron就停止了。

其實anacron依懶于crontab,anacron能執行也是靠crontab來運行的。

anacron對于一般用戶基本上用不到!

3、sleep

還有一種方案是通過sh腳本來執行while(true) + sleep操作,以此來模擬定時任務。這種常見于一些PHP腳本模擬“守護進程”效果,執行完一段代碼后,休眠指定時間后再次執行。

綜上,在實際操作中,我們實現定時任務99%的情況下都是通過crontab這個命令和 /etc/crontab 這個文件來設置定時任務的,而定時任務的執行是由Linux自帶的crond守護進程來執行的。

以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!

php定時任務是什么,如何在Linux上定期定期執行命令腳本