[freebsd] Повторный запуск скрипта в cron

Valentin Nechayev netch at netch.kiev.ua
Thu Jan 26 20:59:34 EET 2017


 Thu, Jan 26, 2017 at 20:57:08, yuri.kurenkov wrote about "Re: [freebsd] Повторный запуск скрипта в cron": 

> >Да кто ж спорит, что работает. До первого случая, когда снесли процесс ;)
> >
> >А вот с регулярным запуском из крона так сложнее - это надо уже сам
> >крон снести.
> >
> 
> 
> Да кто же спорит о том, что можно снести что-то. Да хоть патч
> Бармина накатить!.. ;) Я не настаиваю на гениальности сего решения.
> Я говорю о множественности этих решений без применения софта из
> портов. А оптимальность каждого решения зависит от условия
> конкретной задачи.
> 
> И если нужна одинаковая переодичность запуска, то тут крон. А если
> нужен определённый интервал между стоп и старт, то тут sleep в while
> или моё решение.

Так в том-то и дело, что не "или", а "и". Берём Ваш вариант и пишем в
крон:

* * * * * lockf -s -t10 <путь к локфайлу> while :; do <работа>; sleep 900; done
(времена старта и таймауты подкручиваются по вкусу)

и получаем и нужный режим работы, и автостарт, и защиту от падений,
и, кстати, и защиту от одновременного запуска (у вас её нет, рестарт
крона запустит вторую копию, а если запускать продолжение через at -
есть шанс, наоборот, не запуститься, если одноразовое действие свалится).
Когда можно соблюсти полный комплект необходимых требований самыми
простыми методами, это лучше делать :)

> Да Ленин вариант с использованием ttys защитит от
> "процесс снесли".

Да. Но: только для рута; есть шанс снести при апгрейде.


-netch-


More information about the freebsd mailing list