Dodałem dwa skrypty w katalogu "logrotate.d", aby moje dzienniki aplikacji były obrócone. Jest to konfiguracja dla jednego z nich:Praca logrotate cron nie obraca niektórych dzienników
<myLogFilePath> {
compress
copytruncate
delaycompress
dateext
missingok
notifempty
daily
rotate 30
}
Istnieje „logrotate” skrypt w „cron.daily” katalogu (co wydaje się być uruchomione na dobę zgodnie z bali crona):
#!/bin/sh
echo "logrotate_test" >>/tmp/logrotate_test
#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -v /etc/logrotate.conf &>>/root/logrotate_error
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Pierwsza instrukcja echa działa.
Ale znajdę moje logi aplikacji sam nie dostają obracany, podczas gdy inne, takie jak dzienniki httpd obracane są coraz **
** I ja również nie widzę żadnego wyjścia we wspomnianym „logrotate_error” pliku (ma prawa zapisu dla wszystkich użytkowników).
jednak mówi syslog: "logrotate: ALERT wyszedł z nienormalnie [1]"
Ale kiedy uruchomić ten sam "logrotate" w "cron.daily" skrypt ręcznie, wszystko wydaje się dobrze pracować.
Dlaczego nie obraca się podczas codziennego harmonogramu cron? Czy robię coś złego tutaj?
Byłoby wspaniale, gdybym otrzymał tak potrzebną pomoc.
AKTUALIZACJA: Wygląda na to, że to z powodu SELinux - pliki dziennika w moim katalogu domowym użytkownika ma ograniczenia nałożone przez SELinux i gdy skrypt logrotate jest prowadzony:
SELinux is preventing /usr/sbin/logrotate from getattr access on the file /home/user/logs/application.log
Gdzie jest ten pochodzi? Czy możesz go dodać? Mam Googleed to i widzę wiele wiadomości podobnych do tego, ale nie mogę znaleźć źródła. Czy to jest domyślny komunikat, który daje SELinux? –