Как мне заставить logrotate подчиняться logrotate.d / uwsgi вместо uwsgi.ini?(Centos 6) - PullRequest
0 голосов
/ 27 сентября 2018

Таким образом, кажется, что установка максимального размера поворота журнала работает только тогда, когда он задан в файле uwsgi.ini, а не в /etc/logrotate.d/uwsgi (даже если тестирование logrotate вручную выполняется с помощью файла /etc/logrotate.d/uwsgi, иЯ не вижу ошибок в журналах статуса cron или logrotate).

/var/log/uwsgi/*.log {
daily
missingok
dateext
rotate 7
size 100M
copytruncate
create
compress
}

Есть ли параметр, который заставляет logrotate использовать вышеуказанное вместо uwsgi.ini?

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

Причина проблемы связана с контекстами безопасности SELinux, где каталог журнала, который был включен в исходную конфигурацию logrotate, не имел необходимых разрешений безопасности.Поэтому, когда я продолжал делать ls -al, я не мог найти ничего неправильного, потому что он не показывал настройки безопасности SELInux для каждого каталога / файла.Я должен был сделать ls -Z или что-то в этом роде.

0 голосов
/ 27 сентября 2018

Я вижу, что у вас есть copytruncate, что правильно.Если вы этого не сделаете, вам придется использовать postrotate для остановки и перезапуска UWSGI.

Как вы уже упоминали, вручную запускается файл /etc/logrotate.d/uwsgi, похоже, это проблема вашей работы cron.

Вы можете поместить это в /etc/cron.d/, а затем проверить вывод /tmp/logrotate.status после его запуска (Изменить выражение расписания в соответствии с вашими потребностями отладки).

0 2 * * * root logrotate /etc/logrotate.d/uwsgi --state /tmp/logrotate.status

Проверьте это crontab.guru ссылка, если вам нужна помощь с выражением расписания.

...