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