Anzeige:
Ergebnis 1 bis 15 von 24

Thema: Script arbeitet von shell aus ok, aber nicht per cronjob

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    20.09.2004
    Beiträge
    38

    Question Script arbeitet von shell aus ok, aber nicht per cronjob

    Hallo erstmal,

    ich habe folgendes Problem:

    Per Script hole ich mir die aktuelle IP und wenn sich Diese bei einem weiteren
    Aufruf des Scripts ändert wird ein Programm namens updatedd gestartet das
    die neue IP bei dyndns registriert.

    Von einer console aus läuft das einwandfrei, nur wenn ich das ganze in meine
    crontab eintrage ("*/5 * * * * /blablub/myipscript") wird das Script noch
    gestartet, aber dann erhalte ich statt "IP erfolgreich aktualisiert", folgende
    Fehlermeldung: "Try `updatedd --help' for more information.", mehr nicht.

    Muss ich in meinem script beim Aufruf von updatedd etwas beachten?
    zZ liegt es einfach in einem else Pfad einer if Abfrage:
    else updatedd dyndns MYUSER:MYPASS MYHOST;

    Wäre nett wenn mir jemand helfen könnte.
    mfg Navy

  2. #2
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    17.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Gibt es bei updatedd vielleicht eine --verbose option, damit man etwas mehr vom ursprünglichen Fehler sieht?
    Bodo
    Systemadmistration UNIX

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.09.2004
    Beiträge
    38
    Nein, zumindest keine dokumentierte. Gibt es ne möglichkeit zu definieren das
    updatedd dyndns MYUSER:MYPASS MYHOST ein zusammenhängender Befehl ist?
    Wenn ich nur updatedd ohne Paramater starte bekomme ich die selbe Fehlermeldung.

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Poste doch mal das Script.

    Der Hauptunterschied der oft Probleme macht zwischen "normal Ausführen" und Cronjob ist dass beim Cronjob die PATH-Variable nicht gesetzt ist - d.h. du verwendest absolute Pfade zu den Programmen oder setzt die Variable am Scriptanfang selber.

    Allerdings verstehe ich die Fehlermeldung so auch nicht.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.09.2004
    Beiträge
    38
    Hm Pfadangaben teste ich schnell mal aber moment das Programm findet er ja

    Hier mal das script:

    #!/bin/sh
    wget -q http://checkip.dyndns.org/index.html --output-document=/root/bin/neu.ip --timeout=3
    if [ "`cat /root/bin/neu.ip`" = "`cat /root/bin/alt.ip`" ]
    then echo No new IP;
    else updatedd dyndns USER:PASS HOST; echo "New IP";
    fi
    rm /root/bin/alt.ip
    mv /root/bin/neu.ip /root/bin/alt.ip

    Bin grad auch noch am feilen um die ganzen file Operationen gegen Parameter
    zu ersetzen, aber primär jetzt mal das updatedd im cron ans laufen zu kriegen.

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.09.2004
    Beiträge
    38
    Ich könnt sowas von kotzen, ich hab jetzt hier eine Woche mit diesem
    miniscript verschissen und jetzt gehts nur weil ich #!/bin/bash verwende
    anstatt #!/bin/sh . *argh*

    Hoffe es hilft wenigstens jemand anderem der ein ähnliches Problem hat.

    mfg Navy

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •