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

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

写了个脚本签到,但是不想总是在确定的时间签到,不然在数据库里面的记录太假了,所以需要在确定的时间段内,随机选个时间执行,最后想到了使用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里面的简洁,可以再包装一个脚本

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

当我们使用 gettimeofday (time, NULL );时,会出现这样一个WARNING Implicit declaration of function gettimeofday is invalid in C99 而经过搜索之后发现只需加入 #include sys/time.h 这个头文件即可
有时候为了服务器的安全,我们需要经常登录远程的朋友,可以考虑将administrator改名字,这样一般不知道我们的用户名的人也会增加密码破解登难度。
apache启动报错:the requested operation has failed解决办法
昨日,有朋友问我,他将Web服务器换成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有时候访问会出现“502 Bad Gateway”错误,如何解决。
本文从各方面阐述了Red Hat Linux的安全配置方法,如果您使用的是Windows Server 2003服务器的话,请看Windows Server 2003 系统配置方案。
Tocat 下的日志配置参考代码,需要的朋友可以参考下。