Gdzie Logrotate zapisuje własny dziennik?

25

Mam logrotateuruchomioną maszynę EC2 AWS obracającą dzienniki Apache. Po spakowaniu dzienniki Apache są zapisywane w AWS S3 przez s3fs. Problem polega na tym, że ostatnio zauważyłem, że nie miałem obróconych dzienników. W S3 mam stare dzienniki z dnia 48-> 60, ale 1-> 47 się nie pojawia.

Moje pytanie brzmi: gdzie Logrotate zapisuje swój własny dziennik? Możliwe, że mam jakiś problem z s3fs, ale muszę wiedzieć, zanim cokolwiek zrobię. Próbowałem znaleźć gdzieś dzienniki, ale nie mogłem tego znaleźć.

Dowolny pomysł?

enedebe
źródło

Odpowiedzi:

20

logrotatedomyślnie niczego nie loguje. normalnie powinien być gdzieś w twoim cronie, na przykład:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Możesz uruchomić to ręcznie, aby zobaczyć, co jest nie tak, lub przekierować wyjście logrotate do pliku w powyższym cronie, aby zobaczyć, co się stało następnego dnia.

Prawdopodobnie gdzieś konfiguracja jest niepoprawna i spowodowała przerwanie uruchamiania programu Logrotate.

johnshen64
źródło
+1 po ręcznym uruchomieniu logrotatu, aby zobaczyć, co jest nie tak
cjc
dzięki za odpowiedź, ale tak naprawdę chcę wiedzieć, co się stało w moim systemie, aby uzyskać tego rodzaju wynik. Dzięki!
enedebe
czy ręczne uruchomienie programu logrotate powoduje jakieś błędy? jeśli występują błędy, musisz je naprawić w pliku conf lub /etc/logrotate.d/apache (lub apache2).
johnshen64
4
Możesz użyć -dflagi debugowania i flagi -fwymuszenia, aby zobaczyć dokładnie, co próbuje zrobić logrotate. -dwyłącza akcję, ale drukowane wiadomości nadal będą twierdzić, że coś zmieniają.
David Lord,
Podczas uruchamiania /usr/sbin/logrotate /etc/logrotate.confdodam, -vaby zobaczyć szczegółowy dziennik.
Dennis Golomazov
6

Jedyną rzeczą, w której zwykle rejestruje się Logrotate cat /var/lib/logrotate/status.

Pobrano to z /server//a/518134/266525

dragon788
źródło
5

Innym dobrym miejscem do znalezienia jest /var/log/messagesCentOS pod kątem błędów takich jak ten z cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Możesz także uruchomić ręcznie w trybie debugowania i sprawdzić błędy:

/usr/sbin/logrotate -d /etc/logrotate.conf

Źródło: https://access.redhat.com/solutions/32831

Tony-Caffe
źródło
2

Jeśli korzystasz logrotatez crona i nie przekierowujesz danych wyjściowych, dane wyjściowe, jeśli takie istnieją, przejdą do wiadomości e-mail dla dowolnego identyfikatora, który uruchamia zadanie cron. Przekierowuję moje dane wyjściowe do pliku dziennika.

Na przykład:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1
Geoffrey M.
źródło
1

Sprawdź /etc/logrotate.confglobalne ustawienia konfiguracji, które mogą mieć wpływ na zadania skonfigurowane za pośrednictwem/etc/logrotate.d/

cdmo
źródło
0

Gdy logrotate nie obraca dzienników lub przechodzi w stan awarii, dobrym pomysłem jest uruchomienie logorate ręcznie w trybie debugowania, aby zobaczyć, jakie błędy wyświetla, na przykład:

/usr/sbin/logrotate -d /etc/logrotate.d/*

To polecenie testuje obracanie dzienników dla wszystkich usług, w których znajdują się pliki /etc/logrotate.d. Jeśli wyświetla listę błędów (takich jak błędy spowodowane przez zduplikowane wpisy dziennika), będziesz wiedział, dlaczego logrotate ma problemy.

Ludvik
źródło