Logrotate

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Logrotate

Beitrag von stefan2600 » 07.11.2016 11:23:51

Hallo Helfer,

leider muss ich schon wieder einen Frage stellen, irgendwie finde ich den Fehler nicht, auch googlen hat mich nicht weiter gebracht.
Ich habe 3 Dateien mit Logrotate Programmierungen. Wenn ich diese per Hand über logrotate --force /Dateipafd aufrufe, dann machen die Ihre Arbeit so wie es sein soll.
Nun möchte ich diese 3 Dateien per Cronjob zu einer bestimmten Uhrzeit starten lassen. Ich habe also also root crontab -e aufgerufen und folgende Anweisung eingetragen:
58 23 * * * logrotate --force Dateipfad

Leider klappt da so nicht. Auch mit /bin/bash vor dem Logrotate wird die Datei nicht ausgeführt.

Vielen Dank für Eure Hilfe

Gruß

Stefan

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Logrotate

Beitrag von Liffi » 07.11.2016 11:35:15

Hast du es mal mit einem absoluten Pfad zu logrotate versucht?

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 07.11.2016 11:37:04

Wie meinst Du das jetzt?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Logrotate

Beitrag von KBDCALLS » 07.11.2016 11:50:26

Poste doch einfach mal die entsprechenden Dateien. Und es sollte doch ausreichen wenn eine passende Datei im Verzeichnis /etc/logrotate.d angelegt wird.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 07.11.2016 11:54:43

Also der Pfad zur Datei ist /usr/local/sbin/massages und sieht so aus:

Code: Alles auswählen

/var/log/messages
{
daily
rotate 7
create
        missingok
        notifempty
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Logrotate

Beitrag von Liffi » 07.11.2016 12:07:17

stefan2600 hat geschrieben:Wie meinst Du das jetzt?
/usr/sbin/logrotate statt logrotate

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 07.11.2016 12:23:01

Ich habe das jetzt mal durchlaufen lassen und das sieht echt gut aus. Vielen Dank für die Hilfe

Gruß

Stefan

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Logrotate

Beitrag von KBDCALLS » 07.11.2016 12:23:48

Wieso muß man da cron bemühen ? Bei mir gibts ne /etc/logrotate.d/rsyslog . Und da stehen so einige Dateien drinne, unter anderem die /var/log/messages mit einer 4
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 07.11.2016 12:39:20

Weil ich einfach möchte, dass genau diese 3 Dateien um eine bestimmte Uhrzeit ausgeführt werden. Daher habe ich rsyslog und massages auch aus logrotate.d raus genommen.

Gruß

Stefan

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Logrotate

Beitrag von MSfree » 07.11.2016 13:26:26

KBDCALLS hat geschrieben:Wieso muß man da cron bemühen ? Bei mir gibts ne /etc/logrotate.d/rsyslog . Und da stehen so einige Dateien drinne, unter anderem die /var/log/messages mit einer 4
Logrote wird immer über cron aufgerufen. Dazu befindet sich im Verzeichnis /etc/cron.daily eine Datei namens logroate. Wann die Skripte in /etc/cron.daily ausgeführt werden, steht in /etc/crontab. Bei mir ist es täglich um 6.25h.

Ein spezieller crontab-Eintrag ist also nicht nötig.

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 07.11.2016 13:28:18

Ist dann notwendig, wenn Du 3 Logrotate Dateien hast, die zu unterschiedlichen Zeiten ausgeführt werden soll.

stefan2600
Beiträge: 12
Registriert: 04.11.2016 07:56:14

Re: Logrotate

Beitrag von stefan2600 » 17.11.2016 09:23:20

Ich muss das Thema leider noch mal aufgreifen. Ich habe folgende Datei erstellt:
/var/log/messages
{
daily
rotate 80
create
missingok
notifempty
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}

Wenn ich diese Datei per logrotate -f ...... ausführe, dann wird eine neue Datei messages angelegt und die andere direkt in messages.1.gz komprimiert, so wollte ich das ja auch haben.
Wenn ich diese Datei per Cronjob um 0:05 laufen lasse, dann wird eine Datei messages erstellt, diese hat dann 0 kb, es gibt dann eine weitere Datei mit messages.1 und dort wird weiter protokolliert. In der Datei mit der 1 sind dann aber alle Logs vom Vortag enthalten. Warum wird das per Hand richtig ausgeführt, per Cronjob aber nicht?
Der Aufruf über Cronjob sieht wie folgt aus: 05 00 * * * /usr/sbin/logrotate --force /usr/local/sbin/hotspot

Danke für Eure Erklärungen, ich habe dazu keine Idee, da es ja von Hand richtig ausgeführt wird.

Gruß

Stefan

Antworten