LINUX.ORG.RU

периодическое событие во fcron

 ,


0

1

Хочу, чтобы скрипты из /etc/cron.6h запускались не чаще, чем через 6 часов. Если ноутбук был выключен или спал, когда надо было выполнить очередной запуск, то чтобы этот запуск производился сразу после загрузки системы или просыпания, а следующие 6 часов чтобы отсчитывались от него.

Помогите реализовать это дело с помощью fcron. Я много чего перепробовал за годы его использования, но к моему сожалению, никакой из вариантов не проявил корректной работы.

Сейчас стоит вот это:

@bootrun(true) 6h /bin/run-parts /etc/cron.6h
★★★

Я бы сделал через такой костыль:

LOCK=/var/lib/mymegalock
* * * * * [ -n "$(find $LOCK -cmin +360)" ] && touch $LOCK && /bin/run-parts /etc/cron.6h
P.S. хотя, в принципе, и не костыль это. Крон по расписанию запускает, а «не раньше, чем через шесть часов с прошлого раза» - не расписание.

tiandrey ★★★★★
()
Последнее исправление: tiandrey (всего исправлений: 1)
Ответ на: комментарий от tiandrey

Пока сделал в скрипте нечто подобное.

От fcron я ожидал большего, чем от vixie-cron, иначе зачем он тогда вообще нужен…

Вот уже n + первая вещь, которую надо переписывать. Как всё грустно-то в мире ПО.

batekman ★★★
() автор топика
Ответ на: комментарий от anonymous

Во-первых, у него уже было run-parts, во-вторых, вопрос был не в том, как запустить крон-задания из файла, а в том, как запускать его не чаще раза в шесть часов.

tiandrey ★★★★★
()
Ответ на: комментарий от tiandrey

у него уже было

щелбанов обоим

вопрос был не в том

неважно

anonymous
()
Ответ на: комментарий от mystery

Нет. Нужно что-то вроде OnUnitActiveWallClockSec=, которое бы юзало wall clock вместо монотонного таймера и сохраняло бы время последнего запуска на диск.

Сейчас сохранение времени последнего запуска там есть только для триггеров OnCalendar=, т. е. по реальному времени. Это не совсем то, что нужно, поскольку тогда следующий запуск будет через 6 часов не от фактического времени последнего запуска, а от «предполагаемого».

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.