FTP per Bash: Wie ganze Verzeichnisse kopieren?

riedochs

Lötkolbengott/-göttin
Moin,

ich will per bash einige Verzeichnisse auf einen ftp Server kopieren. Das ganze soll später per cron zeitgesteuert ablaufen.

Bisher sieht mein script so aus:

Code:
#!/bin/bash

lokal_path=/ftpup

ftp -in <<EOFTP
open <FTP Server>
user <Benutzer> <Passwort>
bin
lcd $local_path
mput *.rar
by
EOFTP

Das Problem ist, das ich nicht die Verzeichnisse kopiert bekomme, sondern nur Dateien. Irgendwer eine Idee?
 
Ist zwar nicht ftp, aber waere das nicht eine Alternative?

ncftpput -C remote-host local-path-name remote-path-name
 
Ansich nicht schlecht. Nur wie kann ich ncftpput dazu bringen die Daten als binary zu senden? Weißt du ob das Programm automatisch neu verbindet wenn die Zwangstrennung kommt?
 
Hab grade gegoogled und gesehen, dass NcFTP mit einem "Daemon" kommt. Den Daemon kann man einfach mit FTP-Jobs überhäufen und er kümmert sich dann automatisch drum. Folgendes hab ich auch in der ncftp-manpage gefunden:
man ncftp schrieb:
The daemon will also automatically continue to retry the transfers until they finish.

Zum starten der jobs einfach ncftpput mit -b als Parameter aufrufen. Noch besser wäre es, "-bb" zu benutzen, da wird nur der Job erstellt, allerdings nicht der Daemon (ncftpbatch). Das hat den Vorteil, dass du beim Anlegen mehrere Jobs nur einen Daemon starten brauchst. Wenn du dann alle Jobs angelegt hast, kannst du dann den Daemon starten.
 
Zurück