我正在编写一个脚本来捕获系统上的磁盘使用情况(是的,我知道有软件可以做到这一点)。出于数据库报告的目的,我希望数据点之间的间隔尽可能相等。例如,如果我每 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。