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

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

С Apache/MySQL/Nginx и пр. все понятно.
Есть собственный сервис (С++ приложение), который пишет лог в файл.
Как правильно подключить к нему logrotate?
Как я понимаю, нужно файл закрыть (т.е. обработать какой-то сигнал?), потом logrotate его обработает и затем открыть (опять какой-то сигнал?).
Есть у кого простейший пример, можно схематический.
  • Вопрос задан
  • 2553 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    AL-1802 Администрирование Astra Linux Special Edition 1.8
    2 недели
    Далее
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Skillfactory
    Профессия C++ разработчик
    11 месяцев
    Далее
Решения вопроса 1
sim3x
@sim3x
Лог - это просто текстовый файл, не испортится он от того, что пару строчек поломается

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

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

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