• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

ftp: Verzeichnis herunterladen

JohnnyAppleseed

Schmalzprinz
Registriert
11.09.07
Beiträge
3.561
Hallo zusammen,

ich habe ein persönliches studienbegleitendes Wiki (genauer gesagt DokuWiki; hat den Charme, dass es keine Datenbank sondern einfache *.txt-Dateien verwendet) bei einem Webhoster aufgesetzt. Ich bin grundsätzlich sehr zufrieden mit der Lösung, allerdings suche ich eine Möglichkeit, automatische Back-Ups zu machen (unter anderem, um auf die Daten auch offline zuzugreifen).

Für meinen Back-Up-Plan habe ich mir überlegt, ein Skript in die Richtung
Code:
cd /local/backup/directory/
ftp example.com (Login-Daten in .netrc)
cd /remotedirectory/that/contains/directory/that/contains/datafolder
mget txtfiles/
zu schreiben und mit iCal zeitlich gesteuert aufzurufen, musste dann aber feststellen, dass ftp leider kein Herunterladen von Verzeichnissen unterstützt. Mit mget * innerhalb des entsprechenden Verzeichnisses komme ich auch nicht weiter, da das Verzeichnis mit den *.txt-Dateien weitere Verzeichnisse enthält, die im Wiki als Namespaces angezeigt werden.

Gibt es mit OS-X-Bordmitteln eine Lösung das ganze zu realisieren? Und wenn nicht, wie kann ich das sonst lösen?

Ich sollte auch noch erwähnen, dass das Terminal trotz gelegentlicher Spielereien noch ein wenig Neuland für mich ist und das meiste, was ich dort so (studienbedingt) treibe hat auch nur mit Sprache und Texten zu tun (insbesondere Python), deshalb würde ich mich über eine möglichst geisteswissenschaftlergerechte Lösung freuen. :-)

Viele Grüße!
 
ftp schickt normalerweise das Passwort m Klartext übers Netz an den Server und sollte daher möglichst nicht ohne VPN (und auch dort nicht ohne Bedacht) verwendet werden.
Besser verwendet man sftp - und das wiederum löst mittels 'get -r *' auch Deine Frage. Das hängt aber von einem ssh-Zugang ab. Allerdings sollte das heutzutage Standard sein.
 
  • Like
Reaktionen: JohnnyAppleseed
Vielen Dank für deine Antwort!
Ich nehme mal an, dass
Code:
ssh: connect to host example.com port 22: Operation timed out
Connection closed
bedeutet, dass ich nicht per SSH darauf zugreifen kann, oder? (Ich verbinde mich natürlich nicht wirklich mit example.com, sondern mit meiner eigenen Adresse.)
 
prinzipiell könnte das auch nem anderen Port lauschen - aber da es Dein Server ist, solltest Du das wissen
 
Aber es ist gar nicht mein Server, sondern ein einfacher Webhoster – und leider weiß ich nicht viel darüber. In meinem FTP-Clienten läuft es über Port 21 – wie kann ich das denn bei der Verbindung mit sftp berücksichtigen, damit er nicht Port 22 verwendet?
 
einfache Webhoster wie z.B. greatnet haben (? hatten!) kein ssh für das kleinste Paket. Da kommen wir wahrscheinlich nicht weiter (übrigens ist es dann zwar nicht Dein Server, aber verantwortlich bist Du dennoch). Programme wie Transmit, evtl auch Cyberduck, laden aber auch ganze Verzeichnisse über unsecure ftp herunter und lassen sich skripten. Vielleicht gibt es auch noch ne andere Shellapplikation, aber da komme ich erst morgen zu.
 
Dass ich verantwortlich bin, weiß ich. Zur Zeit ist es nur ein Experiment, dessen Ausgang von meiner Produktivität damit abhängt. Wenn das Experiment erfolgreich sein sollte, würde ich auch „umziehen“. Du musst auch keinen extra Aufwand betreiben – es ist schon okay, wenn ich in der Zwischenzeit einfach manuell per FTP sichere. Wenn das Experiment glückt, kann ich beim „Umzug“ einfach darauf achten, dass ich per sftp zugreifen kann. Das reicht mir dann. :-)

Danke für deine Infos!
 
Hallo, freut mich, dass es Dir schon hilft. Mit den Suchworten "ftp download recursively" bin ich auf http://www.cyberciti.biz/faq/wget-recursive-download-command/ "wget" gestoßen, ein Command-Line-Tool, das es auch für homebrew gibt. Homebrew ist ein Sammelsurium an Tools für die Kommandozeile, das sehr empfehlenswert ist, leider aber auch nicht ganz unproblematisch, nicht ganz fehlerfrei (nun gut, was ist das schon? ;-) und man sollte eigentlich wissen, was man tut. Andererseits hilft es eine Menge und man kann eine steile Lernkurve sehen... Willst Du es Mac-like, dann mache es lieber so, wie Du selbst gerade schon vorgeschlagen hast.
 
Wenn ich mir das so anschaue, mache ich es wirklich lieber, wie von dir vorgeschlagen, mit sftp, sobald ich mich entschieden habe. Dann lade ich erst mal nur manuell herunter. Kurz- bis mittelfristig gesehen ist es auch kein großer Umstand, ein, zwei Mal pro Tag einen Ordner herunterzuladen. Ich danke dir für deine Hilfe! :-)
 
Das klingt für mich so, als würde man das mit rsync machen wollen.

Zunächst mal muss ssh konfiguriert sein, sprich in ~/.ssh/config muss so etwas wie

---
Host ALIAS
Hostname DEIN-SERVERNAME
User DEIN-USERNAME
Port 22
IdentityFile ~/.ssh/SSH-SCHLÜSSELNAME
---

stehen.

Dann kannst du z.B. (je nachdem wie es bei deinem Hoster ausschaut) via

---
rsync -av ALIAS:/var/www/virtual/DEIN-NAME-BEIM-HOSTER/html/dokuwiki/data/pages ~/wiki/data/pages/
---

die DokoWiki-Einträge klonen.


Kann das leider gerade nicht ausprobieren, der grundlegende Weg sollte so aber hinhauen.