1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

Bash shell skripting

    • Linux
  • bimbo
  • 30. August 2004 um 19:21
  • Unerledigt
  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 30. August 2004 um 19:21
    • #1

    Hallo!

    für mein praktikum muss ich einen cronjob programmieren, der im grunde nix anderes machen muss als ein php-skript aufzurufen. so weit so einfach. dieses php-skript hat

    * keine ausgabe wenn es keine änderungen, etc. durchführt
    * eine ausgabe bei fehlern( problem mit der datenbank anbindung), und wenn es "was macht"

    jetzt denk ich mir es kann doch kein problem sein, die php-skript ausgabe in eine (BASH)variable zu schreiben und im cronjob zu prüfen ob etwas drinnen steht. wenn das der fall ist, dann soll eine mail mit ebendiesem inhalt versendet werden.

    eine änderung des php-skriptes würde ich mir _sehr_ gerne ersparen.

    kann mir bei dem problem wer weiterhelfen?

    lg, bimbo

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • amok
    5
    amok
    Mitglied
    Punkte
    190
    Beiträge
    38
    • 30. August 2004 um 20:13
    • #2
    Zitat von bimbo


    jetzt denk ich mir es kann doch kein problem sein, die php-skript ausgabe in eine (BASH)variable zu schreiben und im cronjob zu prüfen ob etwas drinnen steht. wenn das der fall ist, dann soll eine mail mit ebendiesem inhalt versendet werden.

    nein, ist kein poblem

    VARIABLE = `deinphpscrip`

    ueberpruefen ob die variable gefuellt ist und fertig. umgebungsvariablen haben aber auch limits.

    die schoener variante waere:

    mittels mktemp ein temporaeres file anlegen (man mktemp)

    TMPFILE = `mktemp ...`

    die ausgabe deines phpscripts in diese datei umleiten

    pruefen ob was in der datei steht

    mittels mail (man mail) verschicken

    temporaeres file loeschen

    den rest musst du selber machen da ich nie mit der bash gearbeitet habe, bin noch ein tcsh user und sehe auch keinen grund zum umstieg (oder darueber zu diskutieren)

    lg
    zhan

  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 31. August 2004 um 14:08
    • #3

    danke für die prompte antwort, sitz jetzt nicht vorm rechner wo ichs testen kann, werds aber gleich probieren.

    Zitat


    pruefen ob was in der datei steht


    ähem... wie machet man das genau?


    danke und lg, bimbo

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • amok
    5
    amok
    Mitglied
    Punkte
    190
    Beiträge
    38
    • 31. August 2004 um 15:52
    • #4
    Zitat von bimbo


    ähem... wie machet man das genau?

    da gibts viele moeglichkeiten.

    zb gibt dir
    find <filename> -printf "%s"
    die anzahl der bytes zurueck.

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 31. August 2004 um 16:22
    • #5

    test -s wär auch eine Möglichkeit. Generell kann test ganz viele tolle Sachen.

    *plantsch*

  • amok
    5
    amok
    Mitglied
    Punkte
    190
    Beiträge
    38
    • 31. August 2004 um 16:31
    • #6
    Zitat von Plantschkuh!

    test -s wär auch eine Möglichkeit. Generell kann test ganz viele tolle Sachen.

    oh, cool, dachte das ueberprueft nur ob das file existiert ... aber manpage lesen macht schlau :)

    diese moeglichkeit is dann ja wohl die beste

  • p2k
    6
    p2k
    Mitglied
    Punkte
    375
    Beiträge
    53
    • 3. September 2004 um 09:04
    • #7

    Wieso so kompliziert. Wenn du keine Ausgabe lieferst, macht der crond eh nix. nur wenn der Cronjob einen output hat, dann schick dir der crond eine mail.

    einfach das php skript aufrufen und cron den rest machen lassne :verycool:

    p2k

    ESC :x

  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 4. September 2004 um 09:05
    • #8
    Zitat von p2k

    Wieso so kompliziert. Wenn du keine Ausgabe lieferst, macht der crond eh nix. nur wenn der Cronjob einen output hat, dann schick dir der crond eine mail.

    einfach das php skript aufrufen und cron den rest machen lassne :verycool:

    p2k

    versteh ich net ganz was du meinst. der cornd schickt automatisch mails, wenn der cronjob eine ausgabe macht?

    ich habs jetzt ungefähr so, und das funkt:

    TEMPFILE=/tmp/blah
    php -q -f skript.php | grep [a-Z] > $TEMPFILE

    if test -s $TEMPFILE
    ...
    fi

    rm $TEMPFILE

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • maitscha
    8
    maitscha
    Mitglied
    Punkte
    560
    Beiträge
    83
    • 11. September 2004 um 21:58
    • #9

    Ja, der cron-daemon schickt automatisch ein mail an root wenn der job output hat.

  • Maximilian Rupp 27. Dezember 2024 um 12:10

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung