Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Bash, Shell, PHP, Python, Perl, CGI
elvis
Posts: 94
Joined: 2004-05-08 20:27
Location: Recklinghausen

Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Post by elvis » 2004-06-25 23:31

Ich kenne mich mit Shellscript nicht so aus ... ich möchte gerne das wenn ein Cronjob erfolgreich ausgeführt wurde das dann in der Mail an den Root im Betreff steht "Clocksync erfolgreich !" o.Ã?.

Das müsste ja mit "if" / "then" gehen, leider weiß ich nicht wie. Sagen wir mal wenn "RKHunter" ein Rootkit findet, müsste ja irgendwo im Text "infected" stehen.

Code: Select all

If rkhunter.text = *infected* Then
Mail.Subject = "RootKit gefunden !"
(Hab mal früher ein bischen Visual Basic gemacht)

Oder so ähnlich. Super wäre auch ein Shellscript mit Variablen, so das man es für jedes Shellscript genutzen könnte :

Code: Select all

# Hier kommt der Pfad zum Script
$script = /pfad/zum/Script/rkunter

# Hier kommt das Wort, wonach gesucht wird - wenn gefunden, dann wird
# der Text ausgegeben
$suchenach = "infected"

# Eigenen Mail-Subject einzugeben
$OwnSubject = "RootKit gefunden!!!!"

# Verzögerung bis Mail geschickt wird in Sekunden
$time = 180
Könnte mir jemand Ansätze dazu geben oder vielleicht ein Beispielscript?
Ich hatte irgendwann mal hier was darüber gelesen, habs aber leider nicht mehr gefunden.

Danke.

mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln

tja

Post by mc5000 » 2004-06-25 23:49

also im prinzip kannst du ja sowohl zu nem shell-script, auch perl oder php usw. greifen je nachdem was das script machen soll und was man am leichtesten versteht. ich bevorzuge ja meist php oder perl

hab eine kleine nette einleitung mit den gröbsten strukturen gefunden, vielleicht hilft dir das ja schon weiter. :roll:

http://www.xinux.de/docs/linux/linux1/shell2.html


Wenn so ein script per CRON läuft, werden die echo-Befehle im script als mail an root geschickt. Das ist auf jedenfall bei mir so :-D

edit: hab was besseres gefunden ....

elvis
Posts: 94
Joined: 2004-05-08 20:27
Location: Recklinghausen

Re: Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Post by elvis » 2004-06-26 00:07

Wenn so ein script per CRON läuft, werde die echo-Befehle im script als mail an root geschickt. Das ist auf jedenfall bei mir so
Aha! Gut zu wissen, jetzt weiß ich schon mal wie "er" sich den Text holen könnte. Zu Deinem Link : Sowas ähnliches hab ich vorhin gefunden, allerdings auf englisch.

Bis ich mich da eingearbeitet habe, kann ich den Kofler 2x lesen :wink:

Wäre denn folgendes möglich :
0 2 * * * /pfad/zum/script.pl && echo"Script erfolgreich!"
Da wird ja das Script ausgeführt und (wie mir CaptainCrunch gesagt hat) erst das nächste Kommando ausgeführt, wenn das erste erfolgreich war.
Kommt das Echo dann in den Mail.Body ? Ich bräuchte es im Subject.

Das wäre schon mal ein Anfang um mindestens zu sehen das es lief. Bzw. gibt es ein Kommando, das 2 Kommandos im Crontab verbindet aber den Echo (2. Kommando) ausgibt wenn es "nicht" erfolgreich war?

Das wäre schon mal der grobe Weg zur Lösung.

Elvis

[EDIT] Warst schneller, ich guck mir mal den neuen Link an.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Post by captaincrunch » 2004-06-26 08:25

Da wird ja das Script ausgeführt und (wie mir CaptainCrunch gesagt hat) erst das nächste Kommando ausgeführt, wenn das erste erfolgreich war.
Das wäre eine (nicht unbedingt "schöne") Alternative. Du könntest das ganze z.B. durch ein ganz einfaches if laufen lassen:

Code: Select all

if /pfad/zum/script; then echo "Blah!"; fi
Kommt das Echo dann in den Mail.Body ? Ich bräuchte es im Subject.

Code: Select all

if /pfad/zum/script; then echo "" | /bin/mail -s "Blah!" du@irgendwo.tld; fi
Bzw. gibt es ein Kommando, das 2 Kommandos im Crontab verbindet aber den Echo (2. Kommando) ausgibt wenn es "nicht" erfolgreich war?

Code: Select all

if ! /pfad/zum/script; then echo "" | /bin/mail -s "Das war wohl nix!" du@irgendwo.tld; fi
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

elvis
Posts: 94
Joined: 2004-05-08 20:27
Location: Recklinghausen

Re: Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Post by elvis » 2004-06-26 09:58

Wao, vielen Dank! ... das erleichtert mir erst mal einiges.

Ich sehe das Sehellscript ein mächtiges (das mächtigste) Werkzeug ist und man, sofern man es beherrscht, sich eine Menge Arbeit sparen kann.

Gruß.

elvis
Posts: 94
Joined: 2004-05-08 20:27
Location: Recklinghausen

Re: Bestimmte Textausgabe (mail) bei erfolgreichem Cronjob

Post by elvis » 2004-06-26 14:20

Ich muß noch mal nachharken :
if /pfad/zum/script; then echo "" | /bin/mail -s "Blah!" du@irgendwo.tld; fi
Subject ist super so, aber wie sehe ich das Ergebniss (original Ausgabe vom Script) im Body?

Das echo "" macht es mir ja weg, oder?

Danke.


[EDIT] Oh Mann, ich hab so viele Ideen :

Wie würde das hier gehen :

(1) Alle 3 Stunden wird die System/HW Uhr gestellt

(2) Also gibt es 8x am Tag diese Funktion.
---> Da ich gerne Mail bekomme mit dem Status würde ich 8x eine Mail
bekommen!

(3) Kann das Script nicht 7x den Status in eine Datei schreiben und beim 8. mal schickt er mir den Status vom ganzen Tag!

Wie wäre dass ? :-D