Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
s50e1
- Beiträge: 8
- Registriert: 06.06.2011 21:35:50
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
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
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
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
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
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:
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
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
logcheck. 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
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
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.
heirloom-mailx kennt
-a file. Aber das klingt umstaendlich, was spricht gegen
? 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
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
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
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
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
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
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
Gelesen oder uebersehen?
Oh, ich habs uebersehen.