FTP: alle Dateien in einem Verzeichnis hochladen

Diskutiere mit über: FTP: alle Dateien in einem Verzeichnis hochladen im Mac OS X - Unix & Terminal Forum

  1. sheep

    sheep Thread Starter MacUser Mitglied

    Beiträge:
    1.223
    Zustimmungen:
    24
    Registriert seit:
    21.03.2005
    Hi,

    ich bräuchte für ein Script die Möglichkeit, sämtliche Dateien in einem bestimmten Verzeichnis auf einen FTP-Server hochzuladen.

    Derzeit lasse ich einfach vorher alles in ein ZIP-Archiv packen und dann dieses hoch, aber mit einzelnen Dateien wäre es flexibler und schneller.

    Kennt da jemand eine Möglichkeit?

    Das Script sieht derzeit etwa so aus, damit man sich das vorstellen kann:

    Code:
    cd $HOME/Desktop/Upload
    zip -m Upload * -x Icon*
    /usr/bin/ftp -in <<EOF
    open <server>
    user <benutzername> <passwort>
    bin
    hash
    prompt
    cd privat
    put $HOME/Desktop/Upload/Upload.zip Upload.zip
    bye
    Die fragliche Zeile wäre also wohl "put $HOME/Desktop/Upload/Upload.zip Upload.zip", da hätte ich gerne so etwas wie "put $HOME/Upload/* *", was anscheinend so nicht geht (wohl zu einfach gedacht ;)).

    Hintergrund ist der, dass ich auf die Weise einen Ordner auf dem Desktop habe, wo ich einfach Dateien reinschubsen kann, die dann (per Cronjob) automatisch auf einen Server geladen werden, so dass ich von überall darauf Zugriff habe.
     
  2. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Es gibt verschiedene Ansätze, die je nach spezieller Anforderung mehr oder weniger komplex sind.
    Für einfache Skripte ist IMHO `curl' sehr gut geeignet. `curl' kann z.B. mit .netrc Dateien umgehen, damit entfällt schon einmal die Notwendigkeit, Benutzername und Passwort im Skript zu implementieren.
    Schau Dir mal die manpage und hier insbesondere die Schalter -T und -n an.
    Wenn Du nicht klarkommst, einfach nochmal melden ;).

    `curl' kann übrigens nicht nur ftp sondern ist insgesamt sehr leistungsfähig und nützlich.

    Achso, und wenn es sehr "quick" und sehr "dirty" sein soll, geht auch sowas:
    Code:
    echo put filename|ftp benutzer:passwort@ftp.server.de
     
  3. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.774
    Zustimmungen:
    3.629
    Registriert seit:
    23.11.2004
    es gibt das ftp kommando mput für mehrere files...
     
  4. sheep

    sheep Thread Starter MacUser Mitglied

    Beiträge:
    1.223
    Zustimmungen:
    24
    Registriert seit:
    21.03.2005
    Vielen Dank euch beiden!

    Ich werde mir die beiden Ansätze mal ansehen.
     
  5. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Ja, das fragt aber immer nach (so nach dem Motto: "Soll ich wirklich?"). Viellicht kann man das auch abschalten, insgesamt ist aber der CLI FTP Client nicht besonders skriptingfreundlich. Muss er auch nicht, schließlich ist er dafür nicht gemacht.
     
  6. sgmelin

    sgmelin MacUser Mitglied

    Beiträge:
    3.714
    Zustimmungen:
    40
    Registriert seit:
    16.05.2004
    Dann gib vorher "prompt" ein. Das schaltet den interaktiven Modus aus und lädt alles ohne Rückfrage hoch.
    Das umgekehrte Kommando heisst übrigends "mget" für "multiple get".

    Edi: Typo
     
  7. hns

    hns MacUser Mitglied

    Beiträge:
    294
    Zustimmungen:
    6
    Registriert seit:
    16.09.2004
    Das Beste ist mit curl zu arbeiten. Da kann man File-Muster angeben und den Befehl aus einem Shell-Script aufrufen.

    Ich benutze das sogar folgendermaßen: zu meiner Web-Page gehört ein Xcode-Projektfile. Und im Xcode-Projekt gibt es nur ein einziges Target mit einer Shell-Script-Build-Phase. In dem Shellscript ist dann der curl drin.

    Dann kann ich in Xcode die PHP-Files ändern und per Apfel-B (Build) auf den Web-Host senden.

    -- hns
     
Die Seite wird geladen...
Ähnliche Themen - FTP alle Dateien Forum Datum
Automator: autom. FTP Upload, wenn Ordner gefüllt wird - nur wie? Mac OS X - Unix & Terminal 12.05.2016
FTP Download, Passwort über Skript eingeben? Mac OS X - Unix & Terminal 08.02.2009
Ftp aktivierung verfeinern Mac OS X - Unix & Terminal 10.10.2007
FTP-Volumes durch Firewall mounten Mac OS X - Unix & Terminal 07.08.2007
wie versende ich einen ganzen ordner über ftp im Terminal ? Mac OS X - Unix & Terminal 09.07.2007

Diese Seite empfehlen

Benutzerdefinierte Suche