Brauche Hilfe beim Kauf einer Domain

Irgendwas scheint da bei deinem Pi trotzdem schief zu laufen wenn du nicht mal einen Ping auf ipinfo.io bekommst. Ausser mal nen anderen DNS eintragen, Firewall, falls vorhanden, checken/deaktivieren und die witeren üblichen Verdächtigen bei Internetproblemen fällt mir da jetzt auch viel mer ein. Kommst du von nem anderen Rechner auf ipinfo.io?

Komisch, hab aus Jux mal das LAN-Kabel aus- und eingesteckt, jetzt klappt der Ping.
Das Script sagt nun:
Code:
root@piserver:~# bash updateip.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    13  100    13    0     0     57      0 --:--:-- --:--:-- --:--:--    79
tail: cannot open `/var/log/dyndns.log' for reading: No such file or directory

Sat Feb 24 13:17:36 UTC 2018
Updating follow-the-white-rabbit.org: badauth 0.0.0.0
 
Code:
cannot open `/var/log/dyndns.log' for reading: No such file or directory
Das lässt sich relativ leicht beheben:
Code:
touch /var/log/dyndns.log

Ansonsten hast du beim Script denke ich etwas falsch eingetragen, soweit ich das sehe, möchte er 0.0.0.0 als Benutzernamen (und damit domain) benutzen.

Ich habs jetzt allerdings nicht slebst ausprobiert, deswegen weiß ich nicht, welche Meldung das Script sonst zurückgeben würde.
 
Code:
cannot open `/var/log/dyndns.log' for reading: No such file or directory
Das lässt sich relativ leicht beheben:
Code:
touch /var/log/dyndns.log

Ansonsten hast du beim Script denke ich etwas falsch eingetragen, soweit ich das sehe, möchte er 0.0.0.0 als Benutzernamen (und damit domain) benutzen.

Ich habs jetzt allerdings nicht slebst ausprobiert, deswegen weiß ich nicht, welche Meldung das Script sonst zurückgeben würde.

Cool, danke, das klappt schonmal.

Hier das Script:
Code:
#!/bin/bash
touch /var/log/dyndns.log


DOMAINS="follow-the-white-rabbit.org"
DOMAINCOUNT="1"
PASSWORD="*********"

CURRENT=$(curl ipinfo.io/ip)
[ -z "$CURRENT" ] && exit 1

UPDATE="no"

for DOMAIN in $DOMAINS; do
    LAST=$(tail -n $DOMAINCOUNT /var/log/dyndns.log | grep $DOMAIN | awk '{print $4}' | head -n1)
    if [ "$CURRENT" != "$LAST" ]; then UPDATE="yes"; fi
done
if [ $UPDATE = "yes" ] || [ "$1" = "-f" ]; then
    echo -e "\n$(date)"
    for DOMAIN in $DOMAINS; do
        STATUS=$(wget --secure-protocol=TLSv1 -q --http-user="$DOMAIN" --http-passwd="$PASSWORD" "https://dyndns.strato.com/nic/update?hostname=$DOMAIN&mx=domain.de" -O /dev/stdout)

        echo "Updating $DOMAIN: $STATUS"
    done
fi
 
Dafür benutzt du einen Cronjob.

Code:
crontab -e
Damit öffnest du die Crontab Datei im Standard Editor deines OS. Das wird wohl Vi, Vim oder Nano sein. Weiß ich beim Pi nicht. Guck dir an, wie man den Editor bedient, der bei dir genutzt wird, das ist am Anfang garnicht so einfach.

Dann fügst du in der Datei eine Zeile für dein Script hinzu:
Code:
/10 * * * * /bin/sh /Pfad/Zu/Deinem/Script.sh >/dev/null 2>&1
 
Freut mich, dass es jetzt klappt, Du kannst das Script auch jede Minute laufen lassen, da er nur updated wenn sich die IP geändert hat. Dazu muss der Cronjob allerding in das Logfile schreiben. Also nicht ">/dev/null 2>&1" sondern ">> /var/log/dyndns.log".
 
Dafür benutzt du einen Cronjob.

Code:
crontab -e
Damit öffnest du die Crontab Datei im Standard Editor deines OS. Das wird wohl Vi, Vim oder Nano sein. Weiß ich beim Pi nicht. Guck dir an, wie man den Editor bedient, der bei dir genutzt wird, das ist am Anfang garnicht so einfach.

Dann fügst du in der Datei eine Zeile für dein Script hinzu:
Code:
/10 * * * * /bin/sh /Pfad/Zu/Deinem/Script.sh >/dev/null 2>&1

Scheint soweit geklappt zu haben. Kann man bei STRATO irgendwo nachschauen, wann die IP das letzte mal geupdated wurde? Somit weiß ich, ob das Script funktioniert.
Und wird es schon bei Start des Raspberry Pis ausgeführt, oder bracueh ich noch sowas wie @reboot sudo davor?
 
Das kannst du in /var/log/dyndns.log sehen, wenn du den sinnvollen Änderungsvorschlag aus Bunkasans letztem Beitrag umgesetzt hast^^.
Die Datei einfach mit einem Texteditor deiner Wahl öffnen.

Cronjobs werden direkt mit dem Start des Systems ausgeführt, da musst du nichts weiter tun.
 
Ich glaube die log-Datei ist nicht da.
ls /var/log/ hat diese nicht aufgelistet. und sudo nano /var/log/dyndns.log hat dann logischerweise nichts zurückgeliefert.
EDIT: die Datei ist doch da, nur leer
 
Die Datei ist wahrscheinlich leer, weil sich deine IP noch nicht geändert hat, seit du das Skript verwendest.
Es wird ja nur dann etwas in das Logfile geschrieben, wenn sich die IP geändert hat, wenn ich das richtig sehe.

Und die Datei ist definitiv da, weil wir sie ja mit
Code:
touch /var/log/dyndns.log
erstellt haben ;-)
 
Zuletzt bearbeitet:
Okay.
Das Script scheint nicht automatisch ausgeführt zu werden. Hab den Router neugestartet und die IP wurde nicht geupdatet.
Habe manuell gestarted und es hat geklappt.
Vielleicht ist der Pfad der updateip.sh falsch angegeben?
ich versuche es jetzt mit. (habe vorhin versehentlich das "/bin/sh" entfernt. die .sh liegt auf dem desktop)
Code:
/10 * * * * /bin/sh  updateip.sh >/dev/null/ 2>&1
 
Kopier das Script am besten nach /usr/local/bin, und der Eintrag muss dann lauten

Code:
/10 * * * * /bin/sh  /usr/local/bin/updateip.sh >> /var/log/dyndns.log

Dann steht auch was im logfile.
 
Zuletzt bearbeitet:
Vielleicht ist der Pfad der updateip.sh falsch angegeben?

Definitiv. Der Desktop liegt in /home/USERNAME/desktop (kleines oder großes D, ich habe gerade keinen Desktop Ordner zum nachgucken), damit liegt die Datei in /home/USERNAME/desktop/updateip.sh. Nur updateip.sh kann er natürlich nicht finden.

Mach es am besten so, wie von Bunkasan beschrieben, das funktioniert auf jeden Fall.
 
Ok, hab es so eingestellt. Funktioniert aber immernoch nicht :(
Auf STRATO wird auch nicht die aktuelle IP angezeigt, obwohl das Ergebnis im Terminal "good" war. Vielleicht muss es aber STRATO noch aktualisieren. Daher kann ich jetzt (noch nicht) sagen, ob das Script automatisch ausgeführt wurde. Die Log-Datei ist ebenfalls leer
 
Ok, hab mir angeschaut, wie das crontab Timing funktioniert.
Muss da nicht noch ein Sternchen hin bei der Zeitangabe? */10 * * * *
Ein Test-Script, das so in eine Datei schreibt funktioniert. Aber das für die updateip.sh will immernoch nicht automatisch ausgeführt werden..
EDIT: Oder nun doch?
Hab es zu */1 * * * * /bin/sh ..... geändert und nun wurde auch das log geupdated

EDIT2: es funktioniert tatsächlich :)
Danke für eure hilfe
 
Zuletzt bearbeitet:
Edit: Anscheinend habe ich mich da versehen. */10 ist tatsächlick korrekt; damit das Script alle 10Minuten läuft.
 
Zuletzt bearbeitet:
Ich habe mich gezwungen gefühlt, den Vertrag bei Strato zu kündigen, da meine Kontaktdaten z.b. über whois eingesehen werden konnten und ich so haufenweise Spam-Mails und -Anrufe bekam.
Kennt jemand eine gute Alternative zu Strato, bei der ich die Kontaktinformationen anonymisieren kann?
 
Also bei meiner Domain bei Strato sind keine Kontaktdaten (außer denen von Strato) einsehbar.

Whois laudian.de

Ruf doch einfach mal an und frag nach, ob die den WHOIS Eintrag ändern können.
 
Also bei meiner Domain bei Strato sind keine Kontaktdaten (außer denen von Strato) einsehbar.

Whois laudian.de

Ruf doch einfach mal an und frag nach, ob die den WHOIS Eintrag ändern können.

Hab mich mal an die gewendet.. Wenn ich das richtig verstanden habe, müssen diese Informationen bei .org Domains an die ICANN weitergegeben. Wenn ich das richtig verstehe, kann ich diese Infos bei einer .eu Domain anonym lassen. Kannst Du das vielleicht bestätigen?

Edit: bei 1&1 kann ich dies von Anfang an anonymisieren
 
Zuletzt bearbeitet:
Zurück