DynDns-Update-URL aufrufen klappt nicht

  • Hallo zusammen,

    ich habe ein Problem eine URL für ein IP-Update für einen DynDns-Anbieter mittels cronjob regelmäßig aufzurufen. (Zum Testen 1x pro Minute, später seltener)


    OS: Noobs Raspian Jessi

    Angemeldeter User: pi


    Im Ordner /home/pi/ die Datei: "update.sh" mit folgendem Inhalt angelegt:

    Bash
    #!/bin/bash
    /usr/bin/wget -q "http://www.dyndns-anbieter.de?user=MEINBENUTZERNAME&pass=MEINPASSWORT&updater=manuell"
    exit 0

    Mit "crontab -e" folgenden Cronjob angelegt:

    Code
    /1 * * * * /home/pi/update.sh

    Leider wird die Update-URL nicht aufgerufen

    Wenn ich in die Kommandozeile den Befehl

    Code
    /usr/bin/wget -q "http://www.dyndns-anbieter.de?user=MEINBENUTZERNAME&pass=MEINPASSWORT&updater=manuell"


    eingebe, wird die URL aufgerufen und das IP-Update durchgeführt

    Kann mir jemand sagen was ich flasch mache?

    Vielen Dank und viele Grüße

    fap

  • Funktioniert das Script denn manuell? Also so wie es in Crontab drin steht das Script ausführen "/home/pi/update.sh" ohne irgendwas davor zu schreiben! Wenn es manuell nicht geht kann crontab auch nicht zaubern.

    /1
    Ist der falsche Eintrag. Wenn dann */1 für jede Minute allerdings ist das auch Quatsch denn es reicht einfach nur *
    Siehe dazu auch FAQ => Nützliche Links / Linksammlung => crontab

  • meigrafd: Danke für deine schnelle Antwort!

    Wenn ich

    Code
    /home/pi/update.sh

    in die Konsole eingebe, kommt "Keine Berechtigung".
    Wenn ich der Datei chmod 777 gebe, funktioniert alles.
    Welche chmod-Rechte sind hier sinnvoll?

    Leider entsteht bei jedem Aufruf der URL im Ordner /home/pi eine Datei mit dem Quelltext der Update-URL.
    Mit welchem Kommando kann ich das unterbinden?


    Vielen Dank nochmal bis hierher und viele Grüße

    fap

  • ...Dann hatte das Script keine Ausführrechte und Crontab konnte das in der Form auch nicht ausführen.... Notfalls einfach dem Interpreter übergeben dann brauch man auch keine Ausführrechte oder Shebang:

    Code
    */20 * * * * /bin/bash /home/pi/update.sh

    chmod +x reicht i.d.R. 777 ist übertrieben. Siehe dazu https://wiki.ubuntuusers.de/Rechte/#Darstellungsarten

    wget ist wie der Befehl andeutet zum "get" also laden, herunterladen. Das herunterladen des Quelltextes kannst du umgehen in dem du 2 Dinge tust:
    1. Die Ausgabe auf den stdout Kanal zu leiten, mithilfe des Parameters " -O " was für Output steht: -O-
    2. Den Ausgabekanal stdout in den Mülleimer von Linux umleiten: >/dev/null

    Code
    /usr/bin/wget -qO- "http://www.dyndns-anbieter.de?user=MEINBENUTZERNAME&pass=MEINPASSWORT&updater=manuell" >/dev/null


    Siehe dazu auch die Manual Page die es von fast jedem Befehl gibt:

    Code
    man wget

    sowie https://wiki.ubuntuusers.de/Shell/Umleitungen/

    Und zu guter letzt lohnt evtl. auch ein Block hierauf: FAQ => Nützliche Links / Linksammlung => Dynamic-DNS

  • meigraf, ich muss mich nochmal bei dir für deine Geduld bedanken einem DAU wie mir das wahrscheinlich zum 1000.-mal zu erklären. Vielen Dank!!!

    Mit deinen Tipps und Angaben funktioniert es wie es soll.


    Die Links habe ich gespeichert.


    Vielen Dank nochmal und viele Grüße

    fap

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!