Выполните cronjob один раз в день, когда машина будет работать, но не обязательно в определенное время

Я хочу выполнить cronjob один раз в день на машине, которая не работает все время, но работает по крайней мере один раз в день в течение нескольких часов. Проблема с cronjob, что я должен дать ей точное время, когда она, как предполагается, работает, но моя машина не может работать в определенное время. Я знаю, что существует опция к крону, который говорит, "делают это, при начальной загрузке", но моя машина обычно не перезагружается, но я оставляю его в резервном устройстве. Помещенный по-другому, я хочу выполнить что-то один раз в день, но я не могу дать точное время. Существует ли решение этого?

2
задан 02.02.2011, 11:31

2 ответа

Вы хотите что-то как anacron:

anacron является компьютерной программой, которая выполняет периодическое планирование команды, которое традиционно сделано кроном, но не предполагая, что система работает непрерывно. Таким образом это может использоваться для управления выполнением ежедневной газеты, еженедельно, и ежемесячными заданиями (или что-либо с периодом n дней) в системах, которые не выполняют 24 часа в день.

Доступный как пакеты в большинстве дистрибутивов Linux. Существует, вероятно, также порт для MS Windows...

4
ответ дан 08.12.2019, 06:30

Вы могли вызвать задание из сценария запуска в/etc/rc2.d, который сравнивает сегодняшнюю дату с одним сохраненным в файле и затем обновляет тот файл.

0
ответ дан 08.12.2019, 06:30

Теги

Похожие вопросы