寫了個腳本簽到,但是不想總是在確定的時間簽到,不然在數(shù)據(jù)庫里面的記錄太假了,所以需要在確定的時間段內(nèi),隨機(jī)選個時間執(zhí)行,最后想到了使用Cron+AT實(shí)現(xiàn)
思路很簡單,就是cron設(shè)置一個起始時間,比如每天早上6點(diǎn),在這個時間往后隨機(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ù)庫內(nèi)只有整分鐘點(diǎn)的簽到記錄。
這個比直接在cron里面sleep的方法,節(jié)約不少資源,sleep最長駐留時間不超過60秒
為了保持cron里面的簡潔,可以再包裝一個腳本
新聞熱點(diǎn)
疑難解答