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/.
Witam!
W katalogu /var/log/ tworzą się duże pliki
2,0G syslog 2,0G messages
Jedynie dmesg.1.gz jest zarchiwizowany.
Skopiowałem plik konfiguracyjny logrotate.conf ze świerzej instalacji debiana w której wszystko działa prawidłowo, czyli że pliki: syslog i messages są archiwizowane, ale to nie pomogło.
Z pomocy wyczytałem że instrukcje programu logrotate zawarte są w /etc/logrotate.conf. Jeżeli tak to nie rozumiem dlaczego system nie archiwizuje tych plików skoro przy tym samym pliku konfiguracyjnym w innym systemie pliki w /var/log/ są archiwizowane.
Offline
Nie chodzi 24 na dobę.
ps -ax | grep cron 5272 ? Ss 0:00 /usr/sbin/cron
Ale logrotate albo nie chodzi albo go wyszukać nie potrafię
ps -ax | grep logrotate Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 9412 pts/1 R+ 0:00 grep logrotat
Pakiet jest zainstalowany. Nawet reinstalację robiłem na wszelki wypadek.
A tak wygląda /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 # packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp, or btmp -- we'll rotate them here /var/log/wtmp { missingok monthly create 0664 root utmp rotate 1 } /var/log/btmp { missingok monthly create 0664 root utmp rotate 1 } # system-specific logs may be configured here
Ostatnio edytowany przez zomer (2008-12-12 01:45:43)
Offline
logrotate nie jest daemonem. To program który jest wywoływany przez cron'a. Spójrz po katalogach w /etc/cron.* (cron.daily etc.) w którym z nich leży skrypt wywołujacy logrotate. Następnie sprawdz w /etc/crontab o której godzinie ten katalog jest uruchamiany - i zastanów się czy wtedy masz czasem uruchomiony komputer :P
Na początek możesz przerzucić ten skrypt do /etc/cron.hourly.
Offline
Misiu, przede wszystkim pytanie czy w /etc/logrotate.d masz gdzieś napisane żeby pliki syslog i messages archiwizować.
Logrotate sam z siebie nie zgadnie, które pliki Cię interesują i w jaki sposób mają być archiwizowane więc musisz mu o tym powiedzieć ;)
Potem odpal z palca skrypt logrotate i obczaj czy działa :)
Offline
Dobrym sposobem na uruchamianie zadań cron-a na maszynach, które nie działają 24h/dobę jest instalacja anacron-a.
Offline
/etc/logrotate.d# cat rsyslog
/var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate invoke-rc.d rsyslog reload > /dev/null endscript } /var/log/mail.info /var/log/mail.warn /var/log/mail.err /var/log/mail.log /var/log/daemon.log /var/log/kern.log /var/log/auth.log /var/log/user.log /var/log/lpr.log /var/log/cron.log /var/log/debug /var/log/messages { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate invoke-rc.d rsyslog reload > /dev/null endscript }
Z zawartości tego pliku wnioskuję że jest tutaj instrukcja dla logrotate że ma archiwizować /var/log/syslog co dziennie.
Nadal nie mam archiwizacji plików w /var/log
W /etc/crontab ==> jest
# /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) #
W /etc/corn.daily/logrotate ---> jest
#!/bin/sh test -x /usr/sbin/logrotate || exit 0 /usr/sbin/logrotate /etc/logrotate.conf ==> czyli jest skrypt wpis do wywołujący. /etc/cron.daily/logrotate (END)
Ostatnio edytowany przez zomer (2008-12-14 10:34:47)
Offline