On Sun, Sep 10, 2023 at 11:02:39PM +0700, Max Nikulin wrote:
> Andrey Jr. Melnikov уже написал, что скрипт положили, но в пакет
> orphan-sysvinit-scripts. Правда туда положили и
> /usr/lib/rsyslog/rsyslog-rotate.
[...]
> >   Но там не написано, что выполнить задачу скрипта /etc/init.d/rsyslog
> >   не очень просто, потому что rsyslogd при рестарте запускается через раз.
> >   Мои попытки сделать в скрипте цикл и на каждой итерации проверять,
> >   запустился rsyslogd или нет, не привели к успеху даже в варианте
> >   "5 итераций и ожидание 3 секунды после перезапуска" -- всё равно бывали
> >   случаи, когда процесс не запускался. Автоподъём по крону эту проблему
> >   решает, но нужно понимать, что иногда система живёт без сислога.
> 
> А оригинальный init скрипт с этой задачей не справлялся что-ли? Какие-то
> сложности с сетевыми сокетами или что-то другое?

 Вытащил скрипт из свежего orphan-sysvinit-scripts, о котором я не знал.
 Там скрипт совсем свеженький, датирован 3 сентября 2023. При сравнении
 с моим собственным скриптом (последняя правка от 30-янв-2022) нашлось
 лишь одно отличие: у меня start-stop-daemon вызывается с опцией -oknodo,
 в остальном скрипты по сути совпадают. И выяснилось, что сейчас оба
 успешно перезапускают rsyslogd... :) В чём была проблема -- мне тогда
 докопаться не удалось (уже не помню, почему, кажется, под strace эта
 зараза всегда успешно работала, а без strace процесс исчезал, не оставляя
 ни корки, ни других следов). Возможно, багу пофиксили, поскольку ryslog
 с тех пор обновлялся, в том числе совсем недавно:

 2023-08-19 21:42:26 upgrade rsyslog:i386 8.2306.0-2 8.2308.0-1
-- 
 Eugene Berdnikov

Ответить