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

1

Один из наших серверов имеет повторяющееся сообщение об ошибке для 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

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

SPRBRN
источник

Ответы:

1

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

  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к ней переключатель.

maiki
источник
Используется обычный logrotate.conf. Я скопировал содержание в вопросе. Ничто не относится к error_log. Я не вижу лог-файл btmp из файла logrotate.conf в / var / log.
СПРБРН
Выполнение /usr/sbin/logrotate /etc/logrotate.conf -dприводит к большому количеству вывода, но без упоминания error_logи ничего не нужно вращать. Он упоминает отсутствующий btmp, а затем пропускает его.
СПРБРН
1
@SPRBRN извините, я не очень хорошо себя объяснил. Я имел в виду следующее: внутри /etc/cron.daily/logrotateскрипта у вас будет вызов logrotateбинарного файла. Мой есть /usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1. Если у вас есть то же самое, вы должны запустить/usr/sbin/logrotate -d /etc/logrotate.conf
Maiki
Спасибо! Я сам увидел ошибку, изменил свой комментарий, но там ничего не нашел.
СПРБРН
1
@SPRBRN это неловко. Пожалуйста, опубликуйте вывод команды отладки.
Май