Seite 1 von 1
Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 11:38
von Indersuppe
Hallo,
ich habe seit paar Tagen das Problem, dass Logrotate nicht mehr funktioniert.
Ich benutze das Onlinescript: logmini.sh
logmini.sh (Logfile-Rotation, stuendlich, CF Systeme, mit wenig Platz)
Rotationszeitplan: Stuendlich
Rotationsgroessen: syslog 3MB, Restliche 1MB, EMU-Logs 1MB
Beachte das je nach Rotationszeit die Groessen ueberschritten werden!
Script starten? (j/n): j
Sollen alte Logfiles geloescht werden? (j/n): n
Verbinde zum Updateserver..
Neue Konfiguration wird eingerichtet..
Rotiere Logfiles mit neuer Konfiguration..
error: exim4-base:3 unknown option 'hourly' -- ignoring line
Fertig
-------------------------------------------------------------------------------
root@debian ~ >
Hier mal die Dateien die ich auf dem Futro habe:
/etc/crontab
Code: Alles auswählen
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 )
/etc/logrotate.d/rsyslog
Code: Alles auswählen
/var/log/syslog
{
rotate 1
size 3M
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 1
size 1M
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
/var/log/ipc/CCcam-iusers.log
/var/log/ipc/CCcam-bcommands.log
/var/log/ipc/CCcam-restart-*.log
{
rotate 1
size 1M
missingok
Wird der Inhalt von weiteren Dateien noch benötigt?
Re: Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 11:53
von feissmaik
Inwiefern macht sich das denn bemerkbar?
Also bist du wirklich sicher das Logrotate nicht mehr funktioniert?
Weil wenn du einfach nur das Problem hast das /var/log zb ständig voll ist, obwohl du logmini.sh nutzt - heisst das noch lange nicht das Logrotate nicht funktioniert
Dann solltest du zunächst lieber herrausfinden warum /var/log ständig voll ist, also welche Logdatei daran schuld is...
Es kann zb gut sein das dein CCcam irgendwelche Probleme hat und deswegen ungewöhnlich viel ins Log wirft und leider ist es Standardmässig auch so das die CCcam Meldungen gleich in 3 verschiedene Systemlogs geschrieben werden, also den dreifachen Platz belegen: /var/log/debug , /var/log/daemon.log und /var/log/syslog
2 davon kannst du zb ruhig abschalten indem du die Datei
/etc/rsyslog.conf bearbeitest, runter zu " RULES " scrollst und dort dann folgendes auskommentierst (
#):
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
#kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log
#
# Some "catch-all" log files.
#
#*.=debug;\
# auth,authpriv.none;\
# news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
Danach noch den Dienst neu starten:
/etc/init.d/rsyslog restart
Re: Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 16:28
von Indersuppe
Also ich hab mal 2 Logfiles ausgeschalten....
Aber wenn ich nun nicht ganz auf dem Holzweg bin dann sollten doch die Logilfes stündlich rotiert werden.
Code: Alles auswählen
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Also immer um xx.17 Uhr...
Nun ist das syslog über 25 MB groß und wurde nicht rotiert.
Hier mal eine Übersicht über den Inhalt von /etc/cron.hourly:
/etc/cron.hourly/logrotate
Code: Alles auswählen
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
/etc/cron.hourly/rsyslog
Code: Alles auswählen
/var/log/syslog
{
rotate 1
hourly
size 5M
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 1
hourly
size 5MB
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
/var/log/ipc/CCcam-iusers.log
/var/log/ipc/CCcam-bcommands.log
/var/log/ipc/CCcam-restart-*.log
/var/log/ipc/NewCS.log
{
rotate 1
hourly
size 2M
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
Re: Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 16:53
von feissmaik
Wo hast du denn die Datei
/etc/cron.hourly/rsyslog her?
Also vom logmini.sh Script wird die
nicht installiert...
Den Eintrag " hourly " gibts hier glaub ich auch nicht, steht so auch nicht im logmini.sh Script und wird warscheinlich auch nicht funktionieren, siehe ->
man logrotate
Mit firsch installiertem Debian sollte das /etc/cron.hourly Verzeichniss eigentlich leer sein und wegen des logmini.sh Scripts kommt dann die /etc/cron.hourly/logrotate Datei dazu (bzw wird vom cron.daily in cron.hourly verschoben)...
Weil logrotate ist das "Programm" was stündlich ausgeführt werden soll - Aber mit irgendwelchen Configs
für logrotate kann cron nicht wirklich was anfangen
logmini.sh erstellt die Datei
/etc/logrotate.d/rsyslog was eine config Datei für logrotate ist...
Re: Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 17:04
von Indersuppe
Okay. Ich habe den Ordner mal geleert und dann das Script neu installiert:
Nun habe ich nur eine Datei in /etc/cron.hourly/logrotate mit dem Inhalt:
Code: Alles auswählen
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
Muss ich sonst noch was beachten oder erst mal beobachten was passiert?
Re: Logrotate funktioniert nicht mehr
Verfasst: Do 21. Apr 2011, 21:31
von Indersuppe
Mittlerweile ist syslog ca. 40 MB schwer. Wie kann ich den logrotate von Hand anstoßen um zu schauen ob das funktioniert?
Re: Logrotate funktioniert nicht mehr
Verfasst: Fr 22. Apr 2011, 09:51
von feissmaik
Es funktioniert auf jedenfall also wieso bei dir nicht?
...Vielleicht solltest du auch logrotate nochmal neu installieren weil du scheinst da ja selber schon dran herrum gepfuscht zu haben -> weil crontab kann mit den configs für logrotate nicht wirklich etwas anfangen und das System wird das 100% so nicht eingerichtet haben und du hattest da noch viel mehr dateien drin als nur rsyslog von/für IPC!
Aber diesmal bitte nicht manuell an den configs herrumspielen oder irgendwas irgendwohin kopiern
Zum testen der logrotate config ->
logrotate -d /etc/logrotate.conf
( les
bitte man logrotate ! )
cron ist ein Dienst was andere Dienste/Programme regelmässig startet/ausführt
logrotate ist der Dienst/das Programm welches regelmässig von cron gestartet/ausgeführt wird
logmini.sh stellt logrotate so ein, dass es jede stunde von cron ausgeführt wird und konfiguriert logrotate entsprechend....
Re: Logrotate funktioniert nicht mehr
Verfasst: Fr 22. Apr 2011, 11:12
von Indersuppe
Wenn ich es manuell ausführe erhalte ich das für syslog:
Code: Alles auswählen
rotating pattern: /var/log/syslog
3145728 bytes (1 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/syslog
log needs rotating
rotating log /var/log/syslog, log->rotateCount is 1
would compress log with: /bin/gzip
renaming /var/log/syslog.1.gz to /var/log/syslog.2.gz (rotatecount 1, logstart 1, i 1),
renaming /var/log/syslog.0.gz to /var/log/syslog.1.gz (rotatecount 1, logstart 1, i 0),
renaming /var/log/syslog to /var/log/syslog.1
creating new log mode = 0640 uid = 0 gid = 4
running postrotate script
running script with arg /var/log/syslog: "
invoke-rc.d rsyslog reload > /dev/null
"
removing old log /var/log/syslog.2.gz
Allerdings macht er mit der Datei nichts...
WIe installiere ich es neu?
Re: Logrotate funktioniert nicht mehr
Verfasst: Fr 22. Apr 2011, 11:29
von feissmaik
...Dann wird er bestimmt irgendwo anders einen Fehler ausgeben und macht es deswegen nicht - ein einziger Fehler irgendwo reicht aus damit garnix mehr geht...
Wie bereits gesagt hast du bei dir bereits was kaputt gemacht indem du die logrotate configs cron zum fras vorgeworfen hast...
Kann gut sein das du noch mehr kaputt gemacht hast - das kann ich von hier schlecht nachvollziehen was du alles gemacht/probiert hast und will ich ehrlich gesagt auch eigentlich garnicht wissen
Normalerweise deinstalliert mans mit:
apt-get purge logrotate
Dir würde ich aber zusätzlich noch das empfehlen:
rm -rf /etc/logrotate*
Und erst danach neu installiern...:
apt-get update && apt-get install logrotate
PS: Wenn du mittlerweile vllt ausnahmsweise mal
man logrotate gelesen hättest, solltest du wissen das er bei
logrotate -d so oder so nichts an den Datein verändert weil das der debug mode is um Fehler zu finden...
Re: Logrotate funktioniert nicht mehr
Verfasst: Fr 22. Apr 2011, 11:34
von Indersuppe
Ja ich habe mir die MAN-Page angesehen....
Ich hab es nun neu installiert und anschließend über die Online Scripts erneut das logmidi.sh ausgeführt.
Nun werde ich mal abwarten was passiert und sonst eventuell heute Nacht Debian komplett neu aufsetzen.