Я пытаюсь повернуть журнал nginx с помощью Logrotate. Он добавляет журнал в тот же файл (error.log и access.log), но не меняет его ежедневно. Ниже приведен файл конфигурации для него. Пожалуйста, дайте мне знать, если я что-то упустил.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
$ больше /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Статус SELinux
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Вы уверены, что не упустили символ "" ", окружающий команду cat? В соответствии с: http://drumcoder.co.uk/blog/2012/feb/03/nginx-and-logrotate/
Также не могли бы вы проверить /var/log/audit/audit.log что-нибудь о nginx, система аудита auditd запускается по умолчанию. Если демон auditd не запущен, сообщения записываются в / var / log / messages, поэтому проверьте и там.
Также проверьте путь к nginx.pid, если он правильный. У вас может быть nginx в / usr / local / nginx или в / opt или что-то в этом роде.
Также проверьте место на диске. Иногда я сталкивался с ситуацией, когда ротация журналов на виртуальной машине не работала, и единственная ошибка, которую я видел в / var / log / messages, была «ALERT нормально завершился с [1]». Проблема заключалась в том, что у меня осталось очень мало места на диске, и, вероятно, он не смог сжать мои файлы журналов. Я очистил, и он снова начал работать.