Ошибка логротации: файл не найден

1848
SPRBRN

Один из наших серверов имеет повторяющееся сообщение об ошибке для Logrotate.

/etc/cron.daily/logrotate: ОШИБКА Не найден файл для / usr / local / Zend / apache2 / logs / error_log

Ротация журнала работает нормально для папки, в которую он должен смотреть. В ошибке упоминается папка, которая не отслеживается.

/var/log/apache2/*.log /var/log/apache2/*/*.log { daily rotate 50 compress delaycompress missingok notifempty sharedscripts postrotate /usr/local/Zend/apache2/bin/apachectl graceful endscript } 

Когда я grep для error_logв папке Apache, я нахожу следующее:

conf / extra / httpd-ssl.conf: ErrorLog "/ usr / local / Zend / apache2 / logs / error_log"
conf / extra / httpd-vhosts.conf: ErrorLog / www / phones / logs / error_log

Обе эти папки не отслеживаются сценарием httpd logrotate. Мы не используем SSL, поэтому там нет журнала. Журнал телефонов есть, но в данный момент он не повернут. Я извлек папку «logrotate.d», чтобы проверить, контролирует ли какой-либо другой файл конфигурации logrotate папку apache, но результата нет.

Ниже содержание /etc/logrotate.conf

# see "man logrotate" for details # rotate log files weekly weekly  # keep 4 weeks worth of backlogs rotate 4  # create new (empty) log files after rotating old ones create  # use date as a suffix of the rotated file dateext  # uncomment this if you want your log files compressed #compress  # RPM packages drop log rotation information into this directory include /etc/logrotate.d  # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp rotate 1 }  /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } 

Выход из /usr/sbin/logrotate /etc/logrotate.conf -d

reading config file /etc/logrotate.conf including /etc/logrotate.d reading config file dirmngr reading config info for /var/log/dirmngr/dirmngr.log  reading config file fail2ban reading config info for /var/log/fail2ban.log  reading config file httpd reading config info for /var/log/apache2/*.log /var/log/apache2/*/*.log  reading config file ppp reading config info for /var/log/ppp/connect-errors  reading config file psacct reading config info for /var/account/pacct  reading config file rpm reading config info for /var/log/rpmpkgs  reading config file rsyslog reading config info for /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron  reading config file snmpd reading config info for /var/log/snmpd.log  reading config file wpa_supplicant reading config info for /var/log/wpa_supplicant.log  reading config file yum reading config info for /var/log/yum.log  reading config info for /var/log/wtmp  reading config info for /var/log/btmp   Handling 12 logs  rotating pattern: /var/log/dirmngr/dirmngr.log weekly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/dirmngr/dirmngr.log log /var/log/dirmngr/dirmngr.log does not exist -- skipping  rotating pattern: /var/log/fail2ban.log 30720 bytes (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/fail2ban.log log does not need rotating not running postrotate script, since no logs were rotated  rotating pattern: /var/log/apache2/*.log /var/log/apache2/*/*.log after 1 days (50 rotations) empty log files are not rotated, old logs are removed considering log /var/log/apache2/access.log log does not need rotating considering log /var/log/apache2/voip-access.log log does not need rotating considering log /var/log/apache2/voip-error.log log does not need rotating considering log /var/log/apache2/zoo-access.log log does not need rotating considering log /var/log/apache2/zoo-error.log log does not need rotating considering log /var/log/apache2/error.log log does not need rotating considering log /var/log/apache2/trs_error.log log does not need rotating considering log /var/log/apache2/market-access.log log does not need rotating considering log /var/log/apache2/market-error.log log does not need rotating considering log /var/log/apache2/shop/staging-access.log log does not need rotating considering log /var/log/apache2/shop/staging-error.log log does not need rotating considering log /var/log/apache2/shop/shop-access.log log does not need rotating considering log /var/log/apache2/shop/shop-error.log log does not need rotating not running postrotate script, since no logs were rotated  rotating pattern: /var/log/ppp/connect-errors after 1 days (5 rotations) empty log files are not rotated, old logs are removed considering log /var/log/ppp/connect-errors log /var/log/ppp/connect-errors does not exist -- skipping  rotating pattern: /var/account/pacct after 1 days (31 rotations) empty log files are not rotated, old logs are removed considering log /var/account/pacct log does not need rotating not running postrotate script, since no logs were rotated  rotating pattern: /var/log/rpmpkgs weekly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/rpmpkgs log does not need rotating  rotating pattern: /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron weekly (4 rotations) empty log files are rotated, old logs are removed considering log /var/log/messages log does not need rotating considering log /var/log/secure log does not need rotating considering log /var/log/maillog log does not need rotating considering log /var/log/spooler log does not need rotating considering log /var/log/boot.log log does not need rotating considering log /var/log/cron log does not need rotating not running postrotate script, since no logs were rotated  rotating pattern: /var/log/snmpd.log weekly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/snmpd.log log /var/log/snmpd.log does not exist -- skipping not running postrotate script, since no logs were rotated  rotating pattern: /var/log/wpa_supplicant.log 30720 bytes (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/wpa_supplicant.log log /var/log/wpa_supplicant.log does not exist -- skipping  rotating pattern: /var/log/yum.log yearly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/yum.log log does not need rotating  rotating pattern: /var/log/wtmp monthly (1 rotations) empty log files are rotated, old logs are removed considering log /var/log/wtmp log does not need rotating  rotating pattern: /var/log/btmp monthly (1 rotations) empty log files are rotated, old logs are removed considering log /var/log/btmp log /var/log/btmp does not exist -- skipping 

Что вызывает эту ошибку? Я понятия не имею, где искать.

1

1 ответ на вопрос

1
maiki

Начну с самого начала:

  1. Проверьте звонок logrotateвнутри, /etc/cron.daily/logrotateчтобы узнать, не используется ли какой-нибудь специальный файл conf. Традиционно /etc/logrotate.confиспользуется.
  2. Внутри вашего .confфайла ищите includeдирективу. Вы должны иметь один: include /etc/logrotate.dи grep этот каталог для error_log. Кроме того, убедитесь, что в .confфайле нет объявленных системных журналов .

Вы нашли что-нибудь?

Если вы этого не сделали, я предлагаю вам запустить logrotateкоманду, найденную внутри /etc/cron.daily/logrotate, добавив -dк ней переключатель.

Используется обычный logrotate.conf. Я скопировал содержание в вопросе. Ничто не относится к error_log. Я не вижу btmp logfile из файла logrotate.conf в / var / log. SPRBRN 9 лет назад 0
Запуск `/ usr / sbin / logrotate /etc/logrotate.conf -d` приводит к большому количеству вывода, но не упоминает` error_log` и ничего не требует поворота. Он упоминает отсутствующий btmp, а затем пропускает его. SPRBRN 9 лет назад 0
@SPRBRN извините, я не очень хорошо себя объяснил. Я имел в виду следующее: внутри скрипта `/ etc / cron.daily / logrotate` вы будете вызывать двоичный файл` logrotate`. У меня есть `/ usr / sbin / logrotate /etc/logrotate.conf> / dev / null 2> & 1`. Если у вас есть то же самое, вы должны запустить `/ usr / sbin / logrotate -d / etc / logrotate.conf` maiki 9 лет назад 1
Спасибо! Я сам увидел ошибку, изменил свой комментарий, но там ничего не нашел. SPRBRN 9 лет назад 0
@SPRBRN это неловко. Пожалуйста, опубликуйте вывод команды отладки. maiki 9 лет назад 1
Смотри вопрос! SPRBRN 9 лет назад 0
@SPRBRN Ваш выходной журнал чист, и, как вы поняли, нет упоминания о `/ usr / local / Zend / apache2 / logs / error_log`. Как вы получили строку ошибки `/etc/cron.daily/logrotate: ОШИБКА Не найден файл для / usr / local / Zend / apache2 / logs / error_log`? Убедитесь, что вы выполнили команду отладки на правильном хосте, и что файлы конфигурации не изменились. maiki 9 лет назад 0

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