Я пишу сценарий для захвата использования диска в системе (да, я знаю, что есть программное обеспечение, которое может сделать это). В целях отчетности базы данных я хочу, чтобы интервал между точками данных был как можно более равным. Например, если я опрашиваю использование диска каждые 10 минут, я хочу, чтобы каждая точка данных была ГГГГ-ММ-ДД ЧЧ: [0-5] 0:00. Если я опрашиваю каждые 5 минут, это будет ГГГГ-ММ-ДД ЧЧ: [0-5] [05]: 00.
Если у меня есть сценарий ksh (или даже сценарий Perl) для захвата использования диска, как я могу разрешить сценарию активизироваться и дождаться следующего «времени опроса», прежде чем делать снимок, а затем спать для правильного количество секунд до следующего «времени опроса». Если я опрашиваю каждые 5 минут, а сейчас 11:42:00, то я хочу спать 180 секунд, чтобы сделать снимок в 11:45:00, а затем спать 5 минут, чтобы сделать еще один снимок в 11: 50: 00.
Я написал способ, который работает, если мое время опроса составляет каждые 10 минут, но если я изменю время опроса на другое число, оно не будет работать. Я бы хотел, чтобы он был гибким во время опроса.
Я предпочитаю делать это в сценарии оболочки, но если кода слишком много, Perl тоже подойдет.
Есть идеи, как этого добиться?
Заранее спасибо!
Brian
РЕДАКТИРОВАТЬ : Wow - я пропустил довольно важную часть - этот cron отключен, поэтому я не смогу использовать cron для этой задачи. Мне очень жаль всех людей, которые дали это в качестве ответа, потому что да, это идеальный способ сделать то, что я хотел, если бы я мог использовать cron.
Я буду использовать наш планировщик, чтобы запускать свой сценарий каждый день до полуночи, и я хочу, чтобы этот сценарий выполнялся в точное время опроса, между сном и выходом в полночь.
Опять же, я очень сожалею, что не разъяснил crontabs.