Fehlerhaftes löschen von logrotate

Status
Für weitere Antworten geschlossen.

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
habe wie im Wiki beschrieben vor einiger Zeit das logrotate installiert um die von den Syslog-ng erzeugten Log Dateien größen mäßig im griff zu halten. Leider muss ich festellen das das logrotate nicht so arbeitet wie ich möchte.
Per Crontab rufe ich Täglich logrotate -f /opt/etc/logrotate.conf auf, was auch funktioniert. Was nicht funktioniert ist, das nach 2 Generationen die letzte gelöscht werden soll.

1) Inhalt logrotate.conf
logo skript.PNG

2) Bild vom /opt/var/log – Verzeichnisses
messages.PNG

Hier kann man erkennen das messages 0KB hat. Erzeugt wurde messages.1 und messages.2gz.
Hier hört es bei mir auf. Ich gehe davon aus das im messages die ersten Generationen gelöscht werden und nicht das sich dabei irgendwas anderes bildet.
Was kann da wohl falsch sein?

Gruß Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
.... hat keiner eine Idee? :(
Gruß Homer
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du den syslog nach Logrotate auch neu gestartet?
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo jahlives,
... um ganz erhlich zu sein das weiß ich nicht. Ich habe mich nach dem Wiki gehalten. Was ich wohl gemacht habe um die Masse der Datein wieder auf "null zu stellen" diese gelöscht und die DS neu gestartet. Die gelöschten Log Files wurden wieder neu angelegt, und werden wieder fleißig beschrieben. Wenn der Befehl logrotate.conf ausgeführt wurde, ist die Datei z.B mail.info auf 0 KB zusammengestaucht worden, und ließ nicht nicht mehr öffnen oder auslesen, mit cat oder VI. Zeitgleich wurden mail.info.1 und mail.info.2.gz angelegt, und auch diese konnte man nicht so richtig auslesen. So ganz verstehe ich nicht das die 2 zusätzlichen Datein gebildet wurden, und diese wurden auch nicht neu beschrieben, 0 KB.
Wie könnte ich den syslog neu starten nachdem ich Logrotate ausgeführt würde, außer einen Neustart der DS.
Gruß Homer:cool:
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich kann dir ned mit Sicherheit sagen ob das dein Problem ist, aber ich hatte es schon mehrfach, dass ich Logs rotiert habe und das dann gewisse Dienste nicht mitbekommen haben. Diese Dienste schrieben dann rein gar nichts mehr in die Logs. Grundsätzlich kannst du jeden Dienst via dessen Startscript stoppen/starten. In den meisten Fällen braucht man aber nicht soweit zu gehen und es reicht den Prozess mittels -HUP Signal zum erneuten Einlesen der Konfig zu zwingen. Dabei sollte die Anwendung auch gleich schauen ob ein neues Logfile vorliegt.
Für syslog würde ich nach jedem Rotieren mal folgendes probieren:
Code:
kill -HUP $(pidof syslog-ng)
dafür bietet die Logrotate Conf den Prerotate und Postrotate Parameter an. einfach den kill Aufruf im Postrotate platzieren und er sollte nach erfolgtem Rotieren ausgeführt werden. Je nachdem was du für Dienste am laufen hast, musst du nach dem Rotieren auch weitere Prozesse neustarten. Im Zweifel den Prozess lieber neustarten.
Was mir auch noch eingefallen ist: Afaik rotiert logrotate per default keine 0-er Files und lässt diese einfach stehen
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo Jahlives,
danke für die Antwort. Ich werde das auf jedenfall ausprobieren. Leider habe ich noch ein anderes Problem.
Werde ein neuen Beitrag unter Sonstiges erstellen.
Gruß Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
für logrotate Interessierte habe ich zwei Web Seiten gefunden :

1) Eine Beschreibung über Logrotate bzw. Benutzerhandbuch
http://www.linux-praxis.de/lpic1/manpages/logrotate.html

2) System Administrator’s Manual / Logrotate
http://linuxcommand.org/man_pages/logrotate8.html

Das Problem mit den 0 -er Files bleiben bestehen.
Ich habe einfach die Syslogfiles per cronjob gelöscht und durch ein Stopen und Starten des Syslog-ng werden die Files wieder neu beschrieben ab den Zeitpunkt des neu Starten des Syslogs-ng und ein neues Ereigniss.

1) Stop Syslog-ng
/opt/sbin/syslog-ng stop

2) Start Syslog-ng
/opt/sbin/syslog-ng start

Gruß Homer
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat