Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
zrobiłem rotację logów dla swojego serwera według poniższego:
/var/log/ldap.log { daily dateext dateyesterday missingok notifempty compress create sharedscripts postrotate /etc/init.d/rsyslog restart > /dev/null endscript }
rotacja zamiast odbywać się równo o 00:00 odbywa się około 4-5 nad ranem, co dziwniejsze w syslogu nie widać aby cron.daily był odpalany ani o 00 ani koło 4-5, jedyny wpis z cron.daily to:
Apr 2 06:25:01 debian /USR/SBIN/CRON[28306]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
w /etc/cron.daily/logrotate mam:
#!/bin/sh test -x /usr/sbin/logrotate || exit 0 /usr/sbin/logrotate /etc/logrotate.conf
pytanie co może być przyczyną takiego zachowania?
Offline
Jak koniecznie chcesz o północy, to możesz zawsze ustawić (zamiast skrypta) wpis określający wykonanie polecenia o dokładnej godzinie.
Przykładowo:
0 0 * * * root /usr/local/sbin/logrotate.sh
Skrypt logrotate?
U mnie (Gentoo):
cat /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
EDIT:
Możesz też sobie wypełnić zmienną:
MAILTO="siarka@domena.tld"
w /etc/crontab
i Cron będzie grzecznie zawiadamiał o każdej podjętej akcji, wysyłając wyjście poleceń mailem na wskazany w zmiennej adres.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-04-02 14:49:46)
Offline
Przestaw sobie wykonywanie cron.daily w /etc/crontab: :
# m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 19 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 19 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 19 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) #
Offline
ustawiłem rotowanie logów w crontabie na 0 0 no i widzę że działa... kolejne sprawy to:
- po rotacji logów apache nie wznawia logowania, mój config:
/var/log/apache2/*.log { daily dateext dateyesterday missingok compress notifempty create 640 root adm sharedscripts postrotate if [ -f /var/run/apache.pid ]; then /usr/sbin/apachectl graceful > /dev/null fi endscript }
próbowałem również z /etc/init.d/apache2 restart, jednak nie przyniosło to oczekiwanego rezultatu, a co jeszcze dziwniejsze jak odpale po rotacji logów /etc/init.d/apache2 restart logowanie jest wznawiane
- co 2 h zrzucam za pomocą polecenia:
/usr/sbin/slapcat -l /root/ldap/backup/backup-`date "+\%Y\%m\%d\%H\%M"` > /dev/null 2>&1
do pliku bazę ldap, jednak za każdym razem jak to robię czyszczony jest log ldap - co może być tego przyczyną...?
Offline
Apache - domyślnie w Debku Jessie:
cat /etc/logrotate.d/apache2
/var/log/apache2/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if /etc/init.d/apache2 status > /dev/null ; then \ /etc/init.d/apache2 reload > /dev/null; \ fi; endscript prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript }
Ostatnio edytowany przez Jacekalex (2014-04-03 14:05:40)
Offline
po dodaniu sekcji postrotate i prerotate z postu @Jacekalex rotacja przebiega już prawidłowo
Offline