Guten Abend,
Ich bin gerade dabei mir einen Bash Script für mein DS212+ zu schreiben. Dieser soll die aktuelle Externe IP abfragen und diese in eine PHP Datei auf einen Externen FTP Server (mit Zugangsbeschränkung) hochladen. Die IP Abfrage und das schreiben der PHP Datei funktioniert problemlos, doch nun stehe ich vor dem Problem, die PHP Datei auf den FTP Server zu laden.
Alle meine Lösungsansätze sind gescheitert:
Mit »wget« geht der Download von dem FTP Server. (hilft mir aber nicht's weil ich ja nen Upload brauch)
ftp, wput, ... usw. mit denen ein Upload möglich währe, sind nicht auf der DS.
So sieht mein Script bis jetzt aus (Die PHP Datei wird leider momentan nur lokal auf die DS gespeichert):
Und Achtung: Es kann sein, dass bei euch das Auslesen der IP Adresse nicht Richtig funktioniert, weil der Skript einen feste Anzahl von Zeichen löscht und dort auch eine IP Adresse enthalten ist. (Diese IP ändert sich bei mir nicht. Aber ihr habt sehr vahrscheinlich eine IP mit einer anderer Länge, bei der die zu löschenden Zeichen nicht mehr stimmen.)
Und der Grund wieso ich die Externe IP nicht einfach aus der »/tmp/externalIP.result» Datei auslese, is weil trotz dem »/usr/syno/sbin/ddnsd -e« Befehl, nicht immer die Aktuelle IP ausgegeben wird.
Ich hoffe mal, dass Ich euch mein Problem verständlich beschreiben konnte und, dass mir wer helfen kann wie ich dem Upload hin bekomme.
Grüße von mir und Danke schon mal im Vorraus
Ich bin gerade dabei mir einen Bash Script für mein DS212+ zu schreiben. Dieser soll die aktuelle Externe IP abfragen und diese in eine PHP Datei auf einen Externen FTP Server (mit Zugangsbeschränkung) hochladen. Die IP Abfrage und das schreiben der PHP Datei funktioniert problemlos, doch nun stehe ich vor dem Problem, die PHP Datei auf den FTP Server zu laden.
Alle meine Lösungsansätze sind gescheitert:
Mit »wget« geht der Download von dem FTP Server. (hilft mir aber nicht's weil ich ja nen Upload brauch)
ftp, wput, ... usw. mit denen ein Upload möglich währe, sind nicht auf der DS.
So sieht mein Script bis jetzt aus (Die PHP Datei wird leider momentan nur lokal auf die DS gespeichert):
Rich (BBCode):
#!bin/bash
#Ermitteln der Externen IP
IP=$(ip route | head -n 1 | cut -c 29-43)
#Löschen der Alten Index.php Datei
rm -f /volume1/web/IP/index.php
#Schreiben der PHP Datei
#Die PHP Datei is eine automatische Weiterleitung auf die Externe IP meiner DS
echo -e "<?php
header(\"Status: 301 Moved Permanently\");
header(\"Location:http://"${IP}"\");
exit;
?>" >> /volume1/web/IP/index.php
Und Achtung: Es kann sein, dass bei euch das Auslesen der IP Adresse nicht Richtig funktioniert, weil der Skript einen feste Anzahl von Zeichen löscht und dort auch eine IP Adresse enthalten ist. (Diese IP ändert sich bei mir nicht. Aber ihr habt sehr vahrscheinlich eine IP mit einer anderer Länge, bei der die zu löschenden Zeichen nicht mehr stimmen.)
Und der Grund wieso ich die Externe IP nicht einfach aus der »/tmp/externalIP.result» Datei auslese, is weil trotz dem »/usr/syno/sbin/ddnsd -e« Befehl, nicht immer die Aktuelle IP ausgegeben wird.
Ich hoffe mal, dass Ich euch mein Problem verständlich beschreiben konnte und, dass mir wer helfen kann wie ich dem Upload hin bekomme.
Grüße von mir und Danke schon mal im Vorraus