Cronjob fehler?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
s50e1
Beiträge: 8
Registriert: 06.06.2011 21:35:50

Cronjob fehler?

Beitrag von s50e1 » 02.03.2013 16:19:41

Hallo,
ich weiß nicht ob ich hier richtig bin aber ich versuche es einfach mal.

Ich habe mir gestern ein Script geschrieben das mir meine Server logs per Email schickt und das alle 24 Stunden, wenn möglich immer um 17 Uhr.

Nun zum Problem ich bekomme es einfach nicht so eingestellt das es der cronjob automatisch ausführt.

So habe ich es in die Crontab -e vom Root Benutzer eingetragen

Code: Alles auswählen

0 17 * * * /home/log.sh
Aber es tut sich rein garnichts, das Script kann ich manuell ausführen und es funktioniert.
Ich hoffe ihr könnt mir helfen

Gruß
s50e1

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Cronjob fehler?

Beitrag von syssi » 02.03.2013 16:47:18

Wenn du das Skript per Hand ausfuehrst, dann ist die Umgebungsvariable PATH ("echo $PATH") gesetzt. Dabei handelt es sich um einen Suchpfad, wo ueberall nach den im Skript verwendeten ausfuehrbaren Programmen gesucht werden soll. Wenn Cron das Skript aufruft, dann ist diese Umgebungsvariable nicht gesetzt. Entweder du hinterlegst den PATH im Kopf deines Skriptes oder du schenkst allen Programmen in deinem Skript absolute Pfade.

s50e1
Beiträge: 8
Registriert: 06.06.2011 21:35:50

Re: Cronjob fehler?

Beitrag von s50e1 » 02.03.2013 16:57:23

ok das habe ich gemacht,
aber irgendwie haut das immer noch nicht hin.

So sieht das ganze in den logs aus, leider habe ich nicht so viel Erfahrung mit cron

Code: Alles auswählen

Mar  2 16:42:01 server3227 CRON[9944]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar  2 16:42:01 server3227 CRON[9944]: pam_unix(cron:session): session closed for user root

dufty
Beiträge: 378
Registriert: 21.09.2012 21:09:05

Re: Cronjob fehler?

Beitrag von dufty » 02.03.2013 17:37:54

/home/log.sh ist ein etwas "ungewöhnlicher" Ort um Cron-jobs zu hinterlegen.
Kuck mal unter /etc/cron.d/

Bei mir ist da zum Bleistift "john":
/etc/cron.d/john hat geschrieben: <snip>
# JOHN_OPTIONS = foo bar (man 5 crontab)
#
#00 1 * * * root [ -x /usr/share/john/cronjob ] && nice /usr/share/john/cronjob start
#00 7 * * * root [ -x /usr/share/john/cronjob ] && /usr/share/john/cronjob stop
Bei Dir sehe ich keinen user "root" in Deinem Job.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Cronjob fehler?

Beitrag von syssi » 02.03.2013 17:54:49

Wenn der Cronjob in einem Benutzerkonto angelegt wird (crontrab -e), dann ist der auszufuehrende Benutzer nicht notwendig. Du koenntest noch zusaetzlich die Ausgaben deines Skripts umlenken, um sie testweise spaeter pruefen zu koennen:

Code: Alles auswählen

0 17 * * * /home/log.sh >/tmp/stdout.txt 2>/tmp/stderr.txt
Alternativ hilft dir vielleicht:

Code: Alles auswählen

MAILTO=deinemailadresse
0 17 * * * /home/log.sh
Dann schickt dir Cron alle Ausgaben per Mail, sofern der MTA auf dem System ordentlich konfiguriert ist.

Gruss syssi

PS. Bash-Skripte debuggen geht ziemlich gut per: "bash -x /home/log.sh"

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Cronjob fehler?

Beitrag von Cae » 02.03.2013 18:32:33

s50e1 hat geschrieben:Ich habe mir gestern ein Script geschrieben das mir meine Server logs per Email schickt
Das gibt es schon und heisst Debianlogcheck. Man kann es relativ unaufwaendig dahingehend konfigurieren, das normale Grundrauschen auszufiltern. Z.B. spammt ein Mailserver locker eine Handvoll Logzeilen pro verarbeiteter Mail raus, die im Normalfall uninteressant sind, da ja alles funktioniert. logcheck wuerde per RegEx diese Standardmeldungen erkennen und ausfiltern, ungewoehnliche Meldungen werden dagegen per Mail gemeldet.

Zur eigentlichen Frage: Falls dein Mailsystem kaputt ist, guck' in /var/mail/root, dort sollte eine mbox u.a. mit Ausgaben vom Cronjob liegen (wenn er denn welche produziert).

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

s50e1
Beiträge: 8
Registriert: 06.06.2011 21:35:50

Re: Cronjob fehler?

Beitrag von s50e1 » 02.03.2013 19:07:57

vielen dank es funktioniert!

Eine frage hätte ich allerdings noch,
kann man zip dateien irgendwie per Email verschicken? Weil momentan lass ich mir immer den Link per mail zukommen.

Gruß
s50e1

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Cronjob fehler?

Beitrag von Cae » 02.03.2013 19:36:25

s50e1 hat geschrieben:Eine frage hätte ich allerdings noch,
kann man zip dateien irgendwie per Email verschicken? Weil momentan lass ich mir immer den Link per mail zukommen.
Debianheirloom-mailx kennt -a file. Aber das klingt umstaendlich, was spricht gegen

Code: Alles auswählen

$ mail user@host <log
? Dann kann der Mailclient das Log gleich im Klartext anzeigen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

s50e1
Beiträge: 8
Registriert: 06.06.2011 21:35:50

Re: Cronjob fehler?

Beitrag von s50e1 » 02.03.2013 20:00:48

Hmm, das Problem ist es sind ein paar dateien die er verschicken muss
und übersichtlich wird es dann nicht mehr sein.

Gruß
s50e1

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Cronjob fehler?

Beitrag von syssi » 02.03.2013 21:04:56

Ich nutze fuer sowas gerne mutt. Voraussetzung ist, dass man mutt einmal ordentlich konfiguriert. Anschliessend kann man per

Code: Alles auswählen

mutt -s "subject" -a datei.zip root@example.com
Mails mit Anhaengen verschicken. Ist gibt sicher noch tausend andere Moeglichkeiten.

Gruss syssi

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Cronjob fehler?

Beitrag von Cae » 02.03.2013 22:09:12

s50e1 hat geschrieben:Hmm, das Problem ist es sind ein paar dateien die er verschicken muss
Cae hat geschrieben: Debianheirloom-mailx kennt -a file.
Gelesen oder uebersehen?

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Cronjob fehler?

Beitrag von syssi » 02.03.2013 22:42:16

Cae hat geschrieben:
s50e1 hat geschrieben:Hmm, das Problem ist es sind ein paar dateien die er verschicken muss
Cae hat geschrieben: Debianheirloom-mailx kennt -a file.
Gelesen oder uebersehen?
Oh, ich habs uebersehen. :-)

Antworten