Я чередую Nginx
логи ежедневно (с dateext
). После ротации я хочу проанализировать файл за прошедший день и скомпилировать письмо с количеством ошибок, возвращенных сервером Nginx.
Как я могу получить доступ к выходному файлу в разделе postrotate / endcript logrotate
?
Ответы:
Я не знаю каких-либо переменных, которые вы можете использовать, если это то, что вы ищете. Однако сразу после вращения журнала вы должны точно знать имя, на которое был повернут файл, в зависимости от конфигурации, которую вы установили для вращения (
/var/log/somefile.1
или тому подобного).Возможно, было бы легче ответить, если бы вы описали реальную проблему, которую пытаетесь решить?
источник
Если вы не используете директиву sharedscripts, то ваш скрипт после поворота получает, как $ 1, файл, который вызвал ротацию журнала. Это может помочь, если вы пытаетесь использовать универсальный скрипт с несколькими строками logrotate. То есть, учитывая что-то вроде этого:
Если какие-либо соответствующие файлы необходимо повернуть, ваш сценарий будет вызываться с $ 1, для которого установлено значение "/var/log/sample1.log", "/var/log/sample2.log" или "/var/log/sample3.log". «при необходимости. Затем вы можете добавить «.1», чтобы найти файл, который был только что повернут.
Если вы используете опцию «sharedscripts», то ваш сценарий будет вызываться с $ 1, установленным в «/var/log/sample1.log /var/log/sample[23].log» (который поможет вам определить конкретный раздел, но не точный файл).
Надеюсь, это даст вам возможность начать. Обратите внимание, что это будет работать только для logrotate> v3.7.5.
источник