Seite 1 von 1

Logwatch Skript

Verfasst: 03.11.2014 15:03:35
von who
Hi,

ich moechte mit einem Skript Logwatch alle paar Tage starten und mir den Log per Mail zuschicken. Dazu habe ich folgendes Skript:
logwatch.sh

Code: Alles auswählen

#!/bin/sh
rm /root/logwatch/logwatch.txt
logwatch --detail low --range today > /root/logwatch/logwatch.txt
DATE=$(date)
sendemail -f "X-X-X-X" -t "X-X-X-X" -u "Daily logwatch" -m "Log from "$DATE"" -a "/root/logwatch/logwatch.txt" -s "X-X-X-X" -o tls=no -xu "X-X-X-X" -xp "X-X-X-X"
Das klappt auch, also ./logwatch.sh und ich bekomme ne Mail mit der log-Datei im Anhang.

Nun ja, jetzt habe ich das ganze in einen crontab hinzugefuegt:
crontab -e

Code: Alles auswählen

0 0 * * 0 /root/logwatch/logwatch.sh
0 0 * * 3 /root/logwatch/logwatch.sh
0 0 * * 5 /root/logwatch/logwatch.sh
Ich bekomme zwar alle Tage eine Mail mit Anhang, doch der Anhang ist leer (0byte). Wie gesagt, starte ich das Skript von Hand klappt es, automatisiert nicht.

Hat jemand eine Idee?

Gruss,
who

Re: Logwatch Skript

Verfasst: 03.11.2014 22:37:21
von Theophil T.
Reichen die Rechte des crontab-Benutzers evtl. nicht (crontab-Datei als "normaler" Benutzer erstellt)?

LG Theophil

Re: Logwatch Skript

Verfasst: 03.11.2014 23:26:23
von who
Hi,

ich habe "crontab -e" als Root ausgeführt und die Befehle hinzugefügt. Werden die crontabs nicht als Root ausgeführt?

Gruß

Re: Logwatch Skript

Verfasst: 04.11.2014 07:47:14
von Theophil T.
who hat geschrieben:Werden die crontabs nicht als Root ausgeführt?
Wenn Du als Benutzer "Test" crontab -e ausführst, legt crontab unter /var/spool/cron/crontabs eine Datei "Test" an. Die darin enthaltenen Befehle werden mit den Rechten von "Test" ausgeführt.

Evtl. könntest Du nochmal einen alternativen Versuch mit einem Eintrag in /etc/crontab machen, weitere Ideen habe ich leider auch nicht.

Gruß Theophil

Re: AW: Logwatch Skript

Verfasst: 05.11.2014 05:52:35
von scientific
Hatte mal auf Lenny auf einem Server ein Paket installiert, dass mir in bestimmtem Intervall die Logs auf eine eingestellte Mailadresse schickte.

Kann morgen nachsehen, wie das Paket hieß.

Lg scientific

Re: Logwatch Skript

Verfasst: 10.11.2014 10:06:48
von who
Hi,

ich habs jetzt einfach in die crontab Datei gespeichert und nun klappts.

Vielen Dank an euch!

Re: Logwatch Skript

Verfasst: 10.11.2014 14:22:09
von Cae
Ein klassischer Fehler ist, dass der $PATH in einem Cronjob moeglicherweise von dem in einer interaktiven Shell abweicht. In dem Fall liegt logcheck in /usr/sbin/, was nicht in einem "normalen User-$PATH" enthalten ist (fuer root aber eigentlich schon). Sofern der Befehl nicht gefunden wird, ist natuerlich die Datei nach einer output redirection null Byte gross.

Gleichzeitig sollte auf stderr eine entsprechende Fehlermeldung geschrieben werden, die dem Benutzer des Cronjobs per (System-)E-Mail zugestellt wird.

Gruss Cae