Logrotate работает ежедневно и отправляет мне отчет по электронной почте. Это работает нормально, но теперь я также ежедневно получаю следующее электронное письмо:
Date: Mon, 10 Aug 2009 04:02:08 +0100
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@dev> run-parts /etc/cron.daily
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/etc/cron.daily/logrotate:
ERROR No file found for /var/log/apache*/*error.log
ERROR No file found for /home/www/myhomepage/error.log
ERROR No file found for /var/www/*/logs/access_log
Вышеупомянутые каталоги журналов не существуют, и я не знаю, почему logrotate внезапно решил их включить. Думаю, эта проблема началась после того, как я установил fail2ban.
/etc/cron.daily/logrotate содержит:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
/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
# 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 -- we'll rotate them here
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}
/etc/logrotate.d/httpd содержит:
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
Я не уверен, где ссылка на / var / log / apache * /error.log, /home/www/myhomepage/error.log или / var / www // logs / access_log есть.
Любые идеи?
Спасибо, Патрик
ИЗМЕНИТЬ Спасибо за ответы, вот что я пробовал:
vatican:~# grep myhomepage /etc/logrotate.d/*
vatican:~# grep apache /etc/logrotate.d/*
vatican:~# grep www /etc/logrotate.d/*
Ничего не вернулось! Это странно!
ИЗМЕНИТЬ Еще раз спасибо за ответы. В конце концов, проблема была вызвана ошибкой fail2ban. Ссылки были сделаны в файле jail.conf. Я исправил эти ссылки, и проблема решена.
Чтобы расширить комментарий HD: вам нужно более внимательно изучить каталог logrotate.d.
Многие пакеты устанавливают файлы конфигурации logrotate напрямую в него. Любой файл конфигурации logrotate в этом каталоге будет запущен как часть задания cron.daily logrotate.
Просмотрите этот каталог и посмотрите, не можете ли вы найти файлы, вызывающие нарушение, по их именам. Если нет, лучше всего использовать команду grep:
grep myhomepage /etc/logrotate.d/*
Отредактируйте или удалите найденные файлы по своему усмотрению.
Если вы не уверены, откуда взялся один из этих файлов, следующая команда (в Debian / Ubuntu) сообщит вам:
dpkg -S /etc/logrotate.d/FILENAME
В системах на основе RPM следующая команда должна сообщить вам, какой пакет установил файл:
rpm -qf /etc/logrotate.d/FILENAME
Хорошо, похоже, это не имеет ничего общего с logrotate. Я думаю, что вы видите ошибки от fail2ban, который ищет эти файлы. Попробуйте вручную запустить postscript из fail2ban в /etc/logrotate.d/fail2ban (или что-то в этом роде), и вы увидите ошибки.
Как вызываемая команда:
/usr/sbin/logrotate /etc/logrotate.conf
Я бы, наверное, заглянул:
/etc/logrotate.conf