savostin
@savostin
Еще один программист

Как правильно организовать logrotate в своем сервисе?

С Apache/MySQL/Nginx и пр. все понятно.
Есть собственный сервис (С++ приложение), который пишет лог в файл.
Как правильно подключить к нему logrotate?
Как я понимаю, нужно файл закрыть (т.е. обработать какой-то сигнал?), потом logrotate его обработает и затем открыть (опять какой-то сигнал?).
Есть у кого простейший пример, можно схематический.
  • Вопрос задан
  • 2545 просмотров
Решения вопроса 1
sim3x
@sim3x
Лог - это просто текстовый файл, не испортится он от того, что пару строчек поломается

просто man logrotate и под себя конфиг настрой
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Disassociative
@Disassociative
Используй supervisord, не надо с демонизированием возится и логи тебе отротейтит как попросишь.
Ответ написан
Комментировать
AxisPod
@AxisPod
Linux позволяет переименовать файл, при этом сервис продолжит писать в него. Единственное что нужно реализовать, так это переоткрытие файла, logrotate переименовывает, а затем посылает сигнал приложению, к примеру SIGUSR1, по нему просто переоткрываете файл лога и продолжаете писать. Ничего нигде не сломается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы