Linux使用Cron+AT实现在某个确定的时间段内随机执行命令

时间:2021-05-19

写了个脚本签到,但是不想总是在确定的时间签到,不然在数据库里面的记录太假了,所以需要在确定的时间段内,随机选个时间执行,最后想到了使用Cron+AT实现

思路很简单,就是cron设置一个起始时间,比如每天早上6点,在这个时间往后随机的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

之所以前面还加了随机1-60秒的sleep 是因为 at是整点执行,不想让数据库内只有整分钟点的签到记录。

这个比直接在cron里面sleep的方法,节约不少资源,sleep最长驻留时间不超过60秒

为了保持cron里面的简洁,可以再包装一个脚本

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章