目前有一个需求,其它20台机器上每隔5分钟向另外一台服务器提交一些文件的MD5信息,这台服务器每隔几分钟跑一个脚本,把这些信息进行对比,如果有不一致的信息需要报警。
现在的问题就是,系统自带的crontab定时只能每几分钟跑一次,这样每次脚本跑的时候都是在某分的第一秒。
但是,如果在服务器提交信息的时候去进行比对信息,就可能发生异常了,所以需要把服务器上检查的脚本推迟一些运行,不要也是在1秒时候跑。
crontab不支持,但是脚本支持延迟啊,所以,解决办法很简单。在检查脚本里开头 sleep 10s 即可啦。这样这个脚本在1秒时开始执行,但是sleep一会后才继续后边检查,所以,不会发生冲突了~~
sleep用法Tips
sleep 1 睡眠1秒<br /> sleep 1s 睡眠1秒<br /> sleep 1m 睡眠1分<br /> sleep 1h 睡眠1小时<br /> echo `expr $RANDOM % 60` 睡眠随机0-60秒