сколько времени logrotate ждет между postrotate и сжатием

Я пишу программу и хочу перезагрузить файлы журнала, когда процесс получает сигнал SIGHUP от чего-то вроде logrotate. Вопрос в том, сколько времени может использовать приложение, прежде чем logrotate начнет сжимать повернутый файл журнала?

На странице руководства и во всех найденных мною ссылках просто указано, что приложение должно перезагрузить журналы «немедленно», но не говорит, если это должно быть сделано, например, за 1 мс или 1 секунду.

0
21.06.2016, 21:13
1 ответ

На всякий случай: вообще ничего.

Logrotate предполагает, что после завершения команды postrotate файл журнала больше не будет записываться. Есть два способа справиться с тем, что «закрытие файлов журнала может занять некоторое время»: параметр

  • logrotate delaycompress откладывает этап сжатия до следующего вызова logrotate. Таким образом, это может занять столько времени, сколько потребуется для следующего запуска logrotate (хотя это было бы довольно плохой идеей).
  • Вы можете написать инструмент командной строки, который сообщает демону, что нужно закрыть и снова открыть файл журнала, и убедиться, что эта команда , а не завершает работу, пока демон не подтвердит, что все файлы журнала закрыты (он не нужно ждать, пока они снова откроются, хотя это не повредит). Затем люди могут использовать этот инструмент командной строки из строф logrotate postrotate .
1
28.01.2020, 02:48

Теги

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