获取一个Unix脚本,每次都在同一时间运行

Bri*_*anH 0 unix cron sleep intervals

我正在编写一个脚本来捕获系统上的磁盘使用情况(是的,我知道有软件可以做到这一点).出于数据库报告的目的,我希望数据点之间的间隔尽可能相等.例如,如果我每10分钟轮询一次磁盘使用情况,我希望每个数据点都是YYYY-MM-DD HH:[0-5] 0:00.如果我每5分钟轮询一次,那就是YYYY-MM-DD HH:[0-5] [05]:00.

如果我有一个ksh脚本(甚至是Perl脚本)来捕获磁盘使用情况,我怎么能让脚本变为活动状态并在拍摄快照之前等待下一个"轮询时间",然后睡眠正确的秒数直到下一个"民意调查时间".如果我每5分钟轮询一次,它是11:42:00,那么我想睡眠180秒,这样它将在11:45:00拍摄快照 - 然后睡5分钟,这样就需要另一个快照在11:50:00

我写了一个方法,如果我的轮询时间是每10分钟,但如果我将轮询时间更改为不同的数字,它就不起作用.我希望它在民意调查时具有灵活性.

我更喜欢在shell脚本中执行此操作,但如果代码太多,Perl也会没问题.

有关如何实现这一目标的任何想法?

提前致谢!

布赖恩

编辑:哇 - 我遗漏了一个非常重要的部分 - cron被禁用,所以我将无法使用cron来完成这项任务.对于那些给出答案的人们,我感到非常抱歉,因为是的,如果我能使用cron,那就是做我想要的完美方式.

我将使用我们的调度程序在每天午夜之前启动我的脚本,我希望脚本能够在确切的"轮询时间"处理,在两者之间睡觉,并在午夜退出.

再次,我很抱歉没有澄清crontabs.

小智 6

cron会做这个工作.

http://en.wikipedia.org/wiki/Cron

只需将其配置为在您需要的时候运行您的ksh脚本即可