Upload zu FTP Server mit Bash Script

Status
Für weitere Antworten geschlossen.

Tick

Benutzer
Mitglied seit
11. Apr 2012
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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):
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 :)
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.033
Punkte für Reaktionen
287
Punkte
393
Hallo,
da Du ja schon die bash drauf hast, hast Du ja wohl ipkg installiert.
ipkg install wput

Gruß Götz
 

Tick

Benutzer
Mitglied seit
11. Apr 2012
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
»Ipkg« war nicht installiert. Hab dies und »wput« installiert, damit funktioniert es jetzt wunderbar :)

Herzlichen Dank @Goetz
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!