Upload von Diskstation auf FTP-Server (DS112)

Status
Für weitere Antworten geschlossen.

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hi Folks.

Ich besitze seit gestern eine DS112 (mit 4TB WD Red) und bin grundsätzlich schwer angetan von dem NAS.
Neben fehlendem Alldebrid-Support (der verschmerzbar ist), fehlt mir defakto ein FTP-Client, der es mir gestattet, von der DS auf einen FTP-Server upzuloaden.

Das Szenario:
Ich arbeite u.a. als Stockfotograf für verschiedene Anbieter von Stockfootage (Videos)
Hier muss ich dann auf 15 verschiedene FTP-Server Unmengen von Videomaterial hochladen.
Im Zuge des anstehenden 4k-Booms, werden die clips dann bei ein paar Sekunden Länge bald mehrere Hundert MB groß
und derzeit lade ich 50 GB auf eben diese 15 FTP-Server hoch.
Das geschah bisher mit einer Fritzbox und Fritzload bzw. Telnet und Smartphone (per batch-liste), damit ich meinen Rechner nicht über
Tage oder Wochen mitlaufen lassen muss.

Nun habe ich gestern den ganzen Tag gelesen und verschiedene Ansätze gefunden, die aber alle nicht befriedigend sind,
da entweder die Apps nicht laufen (net2ftp, M-Commander etc) oder aber ich minimum ein Smartphone mit geöffnetem SSH-Client
mitlaufen lassen muss, um per batch hochzuladen.

Per SSH-batch hochzuladen kommt für mich nicht in Frage, da ich bisher keinen SSH-Client (ausser Gate-One) gefunden habe.
Gate One funktioniert bei mir nicht, weil es Python 2.7.3.3 verlangt, dass bei mir in den Paketen nicht verfügbar ist
(nur Python 2.7.3-0015 oder Python 3.3.2-0023)
Wie gesagt ist Putty auch nicht drin, da entweder ein Rechner, Tablet oder phone mitlaufen muss.

Der Midnight-Commander (der einen FTP-client besitzen soll) funktioniert bei mir nicht, obwohl ich die entsprechenden Zusatzfiles installiert
und die .profiles geändert habe (bin allerdings alles andere als ein Linux-Pro;)

Net2ftp wirft den Fehler aus, dass die Seite nicht geöffnet werden kann (Webdienste habe ich natürlich aktiviert und Dirs wurden auch angelegt)

rsync etc habe ich nicht probiert, da die FTP-Server vermutlich nicht damit zusammenarbeiten.

Jetzt steh ich auf dem Schlauch und bin kurz davor, mir ein QNap TS112 zuzulegen, aber ich mag nicht glauben,
dass ein unkomplizierter FTP-Upload mit den Synologys nicht möglich, bzw. nur mit vielen Spielereien umsetzbar ist.

Im Grunde genommen würde mir - wie auf www.net2ftp.com zu sehen - ein Fenster reichen,
in welches ich den FTP-Server, usernamen und pw eintrage, dann die files auswähle und das Dingen anfängt die Daten hochzuschieben.

PS: DSM 4.3, IPKG ist upp and running und ich habe auch noch einige Pakete-Quellen eingetragen.

Hat also noch jemand einen Tipp, wie sich sowas bewerkstelligen (lassen) könnte?
ggf. in Python oder was auch immer??? (bin auch kein coder;)

Ich wäre sehr gern bereit, auch was für die Umsetzung zu zahlen und bin mir sicher,
dass das dem einen oder anderen Synology-User auch zugute kommen würde.

Jetzt bin ich mal gespannt.

vielen Dank und best grEEtz

SleeZe
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.634
Punkte für Reaktionen
2.040
Punkte
829
Wie gesagt ist Putty auch nicht drin, da entweder ein Rechner, Tablet oder phone mitlaufen muss.

Das stimmt zumindest nicht: Falls Du ssh über putty nutzt, müsstest Du die Jobs nur per nohup ftp starten, also Deinem ftp client das Kommando nohup voranstellen. Idealerweise sorgst Du dann noch dafür, dass die Ausgaben unterdrückt oder in Dateien umgeleitet werden per > und 2>. Dann kannst Du Dich nach dem Start ausloggen und den PC o.ä. herunterfahren.
 

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Das stimmt zumindest nicht: Falls Du ssh über putty nutzt, müsstest Du die Jobs nur per nohup ftp starten, also Deinem ftp client das Kommando nohup voranstellen. Idealerweise sorgst Du dann noch dafür, dass die Ausgaben unterdrückt oder in Dateien umgeleitet werden per > und 2>. Dann kannst Du Dich nach dem Start ausloggen und den PC o.ä. herunterfahren.


Sehr schön!!!, das ist zumindest mal ein erster Ansatz, den ich gerne probieren werde :eek:
Momentan sieht meine Befehlszeile so aus:

ftpput ftp.server.de -user=T -pass=K file1 file2
ftpput ftp.server.de -user=T -pass=K file3 file4
...

Kannst du mir sagen, was genau ich wie und wo eintragen/anklicken muss,
damit es auf diese Weise funktioniert?
(Ich bin auch kein Putty-spezi und war froh, dass ich es iwie ans Laufen bekommen hab :eek:

Vielen Dank schomma!

SleeZe
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.634
Punkte für Reaktionen
2.040
Punkte
829
Du musst nichts anklicken. Du musst nur vor jeden Befehl, den Du absetzt, das nohup schreiben. Dein Beispiel entsprechend:

nohup ftpput ftp.server.de -user=T -pass=K file1 file2 > file1-2.log 2> file1-2.err &
nohup ftpput ftp.server.de -user=T -pass=K file3 file4 > file3-4.log 2> file3-4.err &
...

Am Ende siehst Du die Umleitungen für die Ausgabe des ftpput Programms. Das schreibt Dir ja normalerweise Informationen auf die Konsole, die Du dann in der Shell siehst. Damit es damit keine Probleme gibt und Du sie bei Bedarf auch später noch kontrollieren kannst (hat der Transfer geklappt oder ist er abgebrochen, wann war er fertig etc.?), wird dieser Output sinnvollerweise in Dateien geschrieben.

Ich habe noch etwas vergessen: Du musst die Jobs noch in den Hintergrund legen. Das geschieht dadurch, dass Du ganz ans Ende ein & setzt. Habe das im Beispiel schon angepasst.
 
Zuletzt bearbeitet:

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Du musst nichts anklicken. Du musst nur vor jeden Befehl, den Du absetzt, das nohup schreiben. Dein Beispiel entsprechend:

nohup ftpput ftp.server.de -user=T -pass=K file1 file2 > file1-2.log 2> file1-2.err &
nohup ftpput ftp.server.de -user=T -pass=K file3 file4 > file1-2.log 2> file1-2.err &
...

Am Ende siehst Du die Umleitungen für die Ausgabe des ftpput Programms. Da schreibt Dir ja normalerweise Informationen auf die Konsole, die Du dann in der Shell siehst. Damit es damit keine Probleme gibt und Du sie bei Bedarf auch später noch kontrollieren kannst (hat der Transfer geklappt oder ist er abgebrochen, wann war er fertig etc.), wird dieser Output sinnvollerweise in Dateien geschrieben.

Ich habe noch etwas vergessen: Du musst die Jobs noch in den Hintergrund legen. Das geschieht dadurch, dass Du ganz ans Ende ein & setzt. Habe das im Beispiel schon angepasst.




Sauber!....das probier ich nachher mal *freu*

best thx

SleeZe
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.634
Punkte für Reaktionen
2.040
Punkte
829
Sorry, ich hatte noch einen Copy/Paste-Fehler im Beispiel: Du musst natürlich unterschiedliche Dateinamen für die Logs verwenden, sonst wird der Output gleich wieder überschrieben. Habs oben entsprechend angepasst.
 

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hi.

So. endlich hatte ich mal die Zeit das von dir beschriebene auszuprobieren.
Dabei habe ich gemerkt, dass ich gar kein ftpput auf dem DS112 habe
und habs somit mit curl (zunächst mal ohne logfiles) probiert.

curl -T /volume1/Footage/Video1.mp4 -u user:passwort ftp.server.de/Video1.mp4

Das hat soweit super funktioniert und in meiner Naivität habe ich dann einfach
mal das nohup davorgesetzt.

Es kam dann die Meldung:

nohup: appending output to nohup.out

und ich habe das Fenster geschlossen.

DAS hat aber leider nicht funktioniert.
Wo liegt nun mein Fehler?

Beste Grüße und nommol Danke für die Hilfe:)

SleeZe
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Bei nohup wird im aktuellen Verzeichnis die Datei nohup.out angelegt.
Diese enhält den Output, der normalerweise auf dem Bildschirm erscheinen würde.
Schau doch mal da rein.
 

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Bei nohup wird im aktuellen Verzeichnis die Datei nohup.out angelegt.
Diese enhält den Output, der normalerweise auf dem Bildschirm erscheinen würde.
Schau doch mal da rein.

Also die Datei wurde mit "nohup curl -T /volume1/Footage/Video1.mp4 -u user:passwort ftp.server.de/Video1.mp4" tatsächlich im Hintergrund übertragen...Hurra, das klappt schon mal :)
Jetzt möchte ich mehrere files übertragen und habe die Option -O eingefügt (nohup curl -T -O /volume1/Footage/Video1.mp4 -u user:passwort ftp.server.de/Video1.mp4), damit er die files
in der Liste nacheinander hochlädt.
Das klappt wiederum nicht...(jaja, immer diese nOObs;)

Sprich meine Liste schaut dann so aus:
nohup curl -T /volume1/Footage/Datei1 -u user:passwort ftp.server.de/Datei1
nohup curl -T /volume1/Footage/Datei2 -u user:passwort ftp.server.de/Datei2
nohup curl -T /volume1/Footage/Datei3 -u user:passwort ftp.server.de/Datei3
...

Jetzt fehlt mir hier die richtige Syntax...und wenn die Dateien dann so im Hintergrund nach und nach geupped werden, bin ich glücklich :)

?

thx und gruß

SleeZe
 

xabano

Benutzer
Mitglied seit
17. Aug 2008
Beiträge
411
Punkte für Reaktionen
0
Punkte
22
Wenn mehrere Dateien mit curl hochgeladen werden sollen muss man diese angeben:
Rich (BBCode):
curl -T {datei1,datei2,datei3} -u USER:PASSWORT ftp://192.168.XXX,XXX/ZIELVERZEICHNIS/

Sollen alle Dateien aus einem Verzeichnis hochgeladen werden kann find dazu benutzt werden:
Rich (BBCode):
find  /PFAD/VERZEICHNIS/* -exec curl -T {} -u USER:PASSWORT ftp://192.168.XXX,XXX/ZIELVERZEICHNIS/ \;

Statt nohub zu verwenden gibt es auch die Möglichkeit den Befehl über die Aufgabenplanung zu starten. Der Upload läuft damit ebenfalls im Hintergrund. Die Aufgabe muss nicht aktiviert sein, man kann sie trotzdem manuell starten (DSM / Aufgabenplanung).
 

Sleeze

Benutzer
Mitglied seit
06. Mrz 2014
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Sollen alle Dateien aus einem Verzeichnis hochgeladen werden kann find dazu benutzt werden:
Rich (BBCode):
find  /PFAD/VERZEICHNIS/* -exec curl -T {} -u USER:PASSWORT ftp://192.168.XXX,XXX/ZIELVERZEICHNIS/ \;

Statt nohub zu verwenden gibt es auch die Möglichkeit den Befehl über die Aufgabenplanung zu starten. Der Upload läuft damit ebenfalls im Hintergrund. Die Aufgabe muss nicht aktiviert sein, man kann sie trotzdem manuell starten (DSM / Aufgabenplanung).



Super...vielen Dank, die Möglichkeit, ganze Verzeichnisse hochzuladen kann ich auch sehr gut gebrauchen :)
derzeit mache ich es - erfolgreich - mit wput:

nohup wput *.jpg ftp://user: pw@server.de

macht eigentlich genau das, was es soll, nachdem mir mit curl auch nur die Möglichkeit einfiel, alle Dateien in eine geschw. Klammer zu setzen,
was dann wieder den Aufwand erhöhen würde.

Besten Dank nochmal für die Hilfe...wieder viel dazu gelernt:)

Gruß und noch nen schönen Sonntag

SleeZe
 
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