LINUX.ORG.RU
ФорумAdmin

systemd custom action

 ,


0

2

Приветствий.

Хочу научить этот юнит делать service nginx reopen - переоткрытие логфайлов без перезапуска процессов и перезагрузки конфига.

Добавил что-то вроде этого:

...
ExecReopen=/bin/kill -s SIGUSR1 $MAINPID
...
Не работает.

Или там только новый юнит делать специально для того, чтобы ротировать логи?


Ты ротацию вручную делаешь? Настрой logrotate — для этого его и придумали. У меня вместе с nginx конфиг logrotate сам добавляется:

$ cat /etc/logrotate.d/nginx
/var/log/nginx/*log {
    create 0644 nginx nginx
    daily
    rotate 10
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 1)

Свои действия не добавить. Есть только start, stop, restart и reload.

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

Не поможет logrotate, тут другое.
Я ротацию делаю каждую минуту и скармливаю специально форматированный лог специально обученному парсеру.
Чтобы не дёргать каждый раз процессы и конфиг, нужно как-то делать reopen. А ещё нужно быть в тренде - пинаю systemd.
С инит скриптом было проще, да.

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

и почему тут не поможет логротейт?

x0r ★★★★★
()

Заведи отдельный юнит, например. Если пинать периодически придется, нарисуешь для него time юнит.

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

Надо во всем видеть плюсы. Зато все юниты одинаковые и не запутаешься во множестве команд :)

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

А вот определил бы он событие reopen и командовал бы initctl emit reopen своему сервису.

Но так systemd не умеет в принципе.

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

Нет. Принято разные действия распихивать по разным юнитам. В одном юните описалово старта и останова одного действия. Такие дела.

vasily_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.