Linux使用Cron+AT實(shí)現(xiàn)在某個(gè)確定的時(shí)間段內(nèi)隨機(jī)執(zhí)行命令
寫了個(gè)腳本簽到,但是不想總是在確定的時(shí)間簽到,不然在數(shù)據(jù)庫(kù)里面的記錄太假了,所以需要在確定的時(shí)間段內(nèi),隨機(jī)選個(gè)時(shí)間執(zhí)行,最后想到了使用Cron+AT實(shí)現(xiàn)
思路很簡(jiǎn)單,就是cron設(shè)置一個(gè)起始時(shí)間,比如每天早上6點(diǎn),在這個(gè)時(shí)間往后隨機(jī)的2~350分鐘里面去簽到
那么只要這樣
0 6 * * * echo 'sleep ' $(shuf -i 1-60 -n 1)';date >>/tmp/xxxx.txt' |at now + $(shuf -i 2-350 -n 1) min
之所以前面還加了隨機(jī)1-60秒的sleep 是因?yàn)?at是整點(diǎn)執(zhí)行,不想讓數(shù)據(jù)庫(kù)內(nèi)只有整分鐘點(diǎn)的簽到記錄。
這個(gè)比直接在cron里面sleep的方法,節(jié)約不少資源,sleep最長(zhǎng)駐留時(shí)間不超過(guò)60秒
為了保持cron里面的簡(jiǎn)潔,可以再包裝一個(gè)腳本
相關(guān)文章
ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn''t find hvm kernel for Ubu
這篇文章主要介紹了ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問(wèn)題分析的相關(guān)資料,需要的朋友可以參考下2016-11-11Linux實(shí)現(xiàn)自動(dòng)掛載autofs的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)自動(dòng)掛載autofs的相關(guān)資料。autofs 服務(wù)將實(shí)現(xiàn)自動(dòng)掛載外圍設(shè)備,NFS共享目錄等,并在空閑5分鐘后后自動(dòng)卸載,需要的可以參考一下2022-10-10Linux如何關(guān)閉遠(yuǎn)程ssh密碼登錄
這篇文章主要介紹了Linux如何關(guān)閉遠(yuǎn)程ssh密碼登錄問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08通過(guò)SSH連接本地linux虛擬機(jī)的過(guò)程記錄
這篇文章主要介紹了通過(guò)SSH連接本地linux虛擬機(jī)的過(guò)程記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式
這篇文章主要介紹了詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06