FTP-Client auf DS soll selbständig Daten laden

Status
Für weitere Antworten geschlossen.

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Hallo

Ich habe seit gestern eine DS107+ und stehe nun total aufm Schlauch mit meinem Problem.
Ich möchte von einem FTP-Server regelmässig und automatisch Daten laden, dass soll die DS selbständig machen.
Nun, wie bewerkstellige ich das? Ich lese hier dauern vom Download Redirector, den finde ich aber nirgends im Menü...:confused:
Würde sich jemand die Mühe machen, mir Schritt für Schritt zu erklären, was zu machen ist?:eek:
Vielen Dank! Habe grad etwas den Durchblick verloren.
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Hab nun immerhin den Download Redirector gefunden...
Hoffe krieg es alleine hin, sonst meld ich mich nochmal.
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
So, mit dem Download Redirector geht gar nichts. Der findet keine Verbindung. Habe kein Firmwareupdate gemacht und habe die Download Redirector Version von der CD genommen...
kA was da nicht stimmt...

Kann wer helfen?:eek:
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Welche Firmware-Version hast auf deiner DS?
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
DSM 2.0-0600.
Was schlägst du vor?
 

Chrunchy

Benutzer
Mitglied seit
05. Mrz 2007
Beiträge
470
Punkte für Reaktionen
0
Punkte
16
Hi Tazzler,

hast du schonmal wget versucht?
Damit mache ich cron-gesteuerte Backups meines Webservers.
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Hi!

Nein, hab ich noch nicht versucht. Bin ehrlich gesagt auch kein Bash-Pro.
Auf der anderen Seite, konnte ich die Konsole auch noch nie aufrufen, wo find ich die?
Und wie genau machst du das jeweils? Kannst du deine Befehle genau angeben?
Was bedeutet cron-gesteuert?

Danke!:)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
DSM 2.0-0600.
Was schlägst du vor?
0) Anlegen einer Sicherung
1) Update auf die aktuelle Firmware (640).
2) Aktivierung der Download Station im Disk Station Manager
3) Aufruf der Download-Station; Erfassen eines Downloads-Vorgangs
4) gucken, ob es geht

itari
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Werd ich gleich machen...
Jedoch funtioniert das Downloaden einzelner Dateien schon.
Aber was ich möchte, ist, dass die DS z.B. jede Stunde auf den auswärtigen FTP-Server zugreift und dort alles Neue aus zwei Verzeichnissen saugt. Aber Verzeichnisse werden da einfach als "broken Link" verzeichnet und der Download startet gar nicht erst.
Ich machs jeweils so: ftp://user : pw@IP/Verzeichnis1/
Aber das scheint nicht zu funkionieren. Erst wenn ich eine Zieldatei angebe funktionierts.
ftp://user : pw@IP/Verzeichnis1/datei2.exe

Wie kann man ganze Verzeichnisse laden und noch wichtiger, wie kann man das automatisieren? Die Verzeichnisse ändern ja nicht, der Inhalt mit der Zeit schon...
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
OK, danke, der Download Redirector funktioniert jetzt so weit.
Jetzt bleibt aber noch das Problem mit dem Ordnerdownload und der Automatisation. Kennt da wer eine Lösung?
Wär sehr dankbar!;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich machs jeweils so: ftp://user:pw@IP/Verzeichnis1/
Aber das scheint nicht zu funkionieren. Erst wenn ich eine Zieldatei angebe funktionierts.
ftp://user:pw@IP/Verzeichnis1/datei2.exe

Wie kann man ganze Verzeichnisse laden und noch wichtiger, wie kann man das automatisieren? Die Verzeichnisse ändern ja nicht, der Inhalt mit der Zeit schon...

Da ich nu nicht weiß, wie du den ftp aufrufst (mit ftp auf der Kommandozeile, mit wget, im Browser oder wo auch immer ????) kann ich dir keine pauschale Antwort geben.

Wenn du den ftp per Kommandozeile aufrufst, kannst mit Wildcards arbeiten (* Sternchen für beliebige Dateinamen):

ftp://user.... blahblah/verzeichnis1/*

Wenn der Sender einen einigermaßen guten ftpd hat (also einen mget auflösen kann), könnte er damit was anfangen. Manchmal fehlt auch nur, dass der Schalter glob gesetzt wird. *guck mal ftp Manual*

Ansonsten schau dir auch noch den wget an, der kann auch ftp-Aufrufe.

itari
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Ich möchte halt einfach dass die DS regelmässig auf den Server connected und Neues auf die DS lädt.
Ich habe jetzt die URL zum Verzeichnis (was ja nicht funktioniert) oder zur Datei (was geht, aber nicht das ist, was ich brauche) im Webmenü der DS eingegeben. Unter Downloadstation/Aufgaben. Oder halt im Download Redirector, aber dort akzeptiert er auch keine Verzeichnisse.

Du sprichst von Konsolenbefehlen. Aber wie komme ich in die Konsole der DS?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Du sprichst von Konsolenbefehlen. Aber wie komme ich in die Konsole der DS?

Naja - auf der DS ist ja Linux. Wenn man in dem Disk Station Manager Telnet aktiviert, dann kann man sich von einem PC bzw. Apple aus per telnet oder anderen Terminalemulationsprogrammen bei der DS anmelden. Das ist hier in viele Beiträgen beschrieben worden; auch im Wiki gibt es eine Anleitung. Wenn man dann auf der Kommandozeile der DS ist, kann man halt mehr machen als nur mit dem Disk Station Manager. Allerdings unterhält man sich mit einem Linux-System, das mag nicht jedermanns Sache sein.

itari

PS kann man auf dem sendenden System nicht die Dateien alle zusammenpacken als zip-File. Dann hättest es doch einfacher.
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Das geht leider nicht, da der Server nicht mir gehört. Bisher benutzte ich Filezilla und hab halt regelmässig das Verzeichnis auf die Festplatte geladen, was ich bereits auf der HD hatte, wurde nicht verändert, was neu war, wurde geladen. Sowas muss doch auch mit der DS möglich sein. Mit Scripts vielleicht? Davon versteh ich aber leider nichts.:(
Mit 3rd Party SW wär das vermutlich am ehesten zu realisieren, oder? Kann man auf der DS irgendwelche FTP-Clients installieren, welche mein Vorhaben unterstützen würden? Also am besten etwas mit Scheduler oder ähnlichem. Oder hab ich das mit der 3rd Party Software falsch verstanden?
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Also das mit Telnet hat geklappt, danke!
Mit wget hat er begonnen das ganze Verzeichnis zu laden, was eigentlich schon mal ein Fortschritt ist. Wenn ich jedoch nach 2-3 geladenen Files stoppe, und dann nochmals den Befehl gebe, das ganze Verzeichnis zu laden, überschreibt er die bereits geladenen Files und fängt von vorne an.
Es soll aber erkannt werden, was komplett geladen und was vielleicht erst partiell geladen wurde und nur unvollständige oder noch nicht vorhandene Dateien laden.
Kennt wer einen Befehl der das zustande bringen würde?
Und was auch noch wichtig ist: Wie kann ich das automatisieren? Ich habe Scripts angesprochen... Kann die DS Scripts ausführen bzw. verarbeiten?

Vielen Dank für die Inputs! Bis jetzt bin ich schon deutlich weiter!;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Also das mit Telnet hat geklappt, danke!
Mit wget hat er begonnen das ganze Verzeichnis zu laden, was eigentlich schon mal ein Fortschritt ist. Wenn ich jedoch nach 2-3 geladenen Files stoppe, und dann nochmals den Befehl gebe, das ganze Verzeichnis zu laden, überschreibt er die bereits geladenen Files und fängt von vorne an.
Es soll aber erkannt werden, was komplett geladen und was vielleicht erst partiell geladen wurde und nur unvollständige oder noch nicht vorhandene Dateien laden.
Kennt wer einen Befehl der das zustande bringen würde?
Und was auch noch wichtig ist: Wie kann ich das automatisieren? Ich habe Scripts angesprochen... Kann die DS Scripts ausführen bzw. verarbeiten?

Vielen Dank für die Inputs! Bis jetzt bin ich schon deutlich weiter!;)

Schön, schön.

Der wget kann per Optionen so eingestellt werden, dass er deine Wünsche erfüllt *guck* die Option -nc mal an 4. Satz: "When running Wget with -N, with or without -r, the decision as to whether or not to download a newer copy of a file depends on the local and remote timestamp and size of the file." Lies es dir einfach mal durch und probier ein wenig ...

Scripts ... was ist das denn? Es gibt so viele Script-Sprachen wie Sand am Meer und ganz viele sind auch unter Linux verfügbar ... für die DS gibt es auch schon ein Menge. Du wirst ein ganzes Leben brauchen, um sie alle zu erlernen - also es gibt genug. Typisch sind Shell-Script-Sprachen unter Linux. Das Programm mit dem du den wget aufgerufen hast (die ash) ist zum Beispiel ein solcher Shell-Script-Interpreter. (Wenn du von einem Apple-System kommst, dann kennst du sicherlich auch mehr als 5 Script-Sprachen *gg*, wenn du das System wirklich genau angeschaut hast.)

Also ich helfe dir wirklich gerne dabei, deine Geschichte zu automatisieren. Aber du bist zuzusagen an der Front und musst ausprobieren was du dir zumuten kannst und was geht. Schau dir zunächst mal an, ob du das mit dem wget und den Optionen hin bekommst.

itari
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
Wow, danke für den Support!!:eek:;)
Mach mich grad ans Probieren!;)
Meld mich dann zurück mit dem Ergebnis.
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
OK, hab jetzt etwas probiert und ich denke, dass wget -c das erfüllt, was ich brauche.
Jedoch lädt er dann nur Dateien herunter, aber keine Dateien, die in einem Unterordner sind.
Also wenn das Homeverzeichnis auf dem Server "ftp" heisst, dann werden mit dem Befehl ftp/datei1.exe, ftp/datei2.jpg, ftp/datei3.cfg geladen, aber nicht ftp/unterverzeichnis1/datei4.exe...
Ich les da noch etwas nach...
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
OK, hab jetzt etwas probiert und ich denke, dass wget -c das erfüllt, was ich brauche.
Jedoch lädt er dann nur Dateien herunter, aber keine Dateien, die in einem Unterordner sind.
Also wenn das Homeverzeichnis auf dem Server "ftp" heisst, dann werden mit dem Befehl ftp/datei1.exe, ftp/datei2.jpg, ftp/datei3.cfg geladen, aber nicht ftp/unterverzeichnis1/datei4.exe...
Ich les da noch etwas nach...

guck mal -r bzw. --recursive an

wie oft und wann soll das Teil laufen?
 

Tazzler

Benutzer
Mitglied seit
21. Aug 2008
Beiträge
173
Punkte für Reaktionen
0
Punkte
16
So jede Stunde?
Wie würds denn aussehen, wenn das Script ausgeführt wird, in der Zwischenzeit aber viele Daten, sagen wir mal 10GB, dazugekommen sind und in einer Stunde grad mal 1GB geladen werden kann? Dann würde das Script ein zweites Mal starten, obwohl die DS noch am laden (von der 1. Ausführung) ist.

EDIT:
Mit -c -r funktionierts tiptop!;)

Jetzt muss ich nur noch das Zielverzeichnis angeben.
Wo liegt eigentlich das Standardordner "public"?
 
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