Come faccio a utilizzare FTP tramite la riga di comando per scaricare tutti i file?

6

Ho provato a utilizzare Filezilla e Cyberduck per il trasferimento dei file su un semplice server FTP. I problemi che ho sono:

  • Filezilla: quando lo uso per il trasferimento dei file, controllo "Activity Monitor", l'utilizzo della "% CPU" è del 150% - 200%. Ero scioccato. Il mio mac inizia a diventare lag, quindi lo interrompo.

  • Cyberduck: quando scarico una cartella da ftp, circa 60mb, all'interno ho file piccoli (* .php, * .jpg ecc.). Ci sono volute circa 8 ore per scaricare i file (c'è un'indicazione di tempo su quanto tempo è rimasto nel cyberduck). Se uso filezilla, ci vogliono solo circa 1-3 minuti. Ho notato che, quando si utilizza Cyberduck, continua a impostare le autorizzazioni prima, in realtà non trasferisce direttamente i file. E ci è voluto del tempo.

Così sono andato su google e ho scoperto che mac può usare Terminal per connettersi al server ftp e scaricare i file.

ftp hostname
mget * (download all the files)

Ora, un altro problema, diciamo, nel mio ftp ho:

- blog(folder)
    - php(folder)
    - img(folder)
- others folder

Voglio scaricare "blog" e le sue successive cartelle e file. Posso farlo in 1 riga di comando? Se no, come si scarica la cartella "blog"?

Ricordo nel comando unix / linux, c'è qualcosa di simile a questo:

- remove -R blba

che rimuove la cartella blba in modo ricorsivo (le sue cartelle e file successivi), mi chiedo se il comando ftp di mac possa supportare questo.

Si prega di avvisare

    
posta jiali 18.10.2011 - 05:52
fonte

3 risposte

5

Il programma Curl potrebbe aiutarti a scaricare un file FTP, ma è specializzato in URL unici (http, ftp, ecc.). È possibile utilizzare Perl per scrivere qualcosa fino alla lista, quindi scaricare, ma è molto più facile da usare wget!

Tuttavia, wget non è un programma standard di OSX, quindi sarà necessario scaricarlo, compilarlo e installarlo manualmente (operazione relativamente facile, purché Xcode sia installato.)

  1. Installa Xcode dall'App Store .
  2. Scarica l'origine wget
  3. Apri un terminale nella directory in cui hai salvato la fonte.

Esegui i seguenti comandi:

    $ tar xfvz wget-latest.tar.gz
    $ cd wget-*
    $ ./configure && make

Il file wget verrà prodotto in una sottodirectory src. Da qui puoi eseguire il binario direttamente come ./src/wget o installare in / usr / local / bin:

    $ sudo make install

Ora, devi solo eseguire wget -r ftp://username:passwd@server/path/to/download e il tuo sito FTP verrà ricorsivamente scaricato da quel percorso!

Ricorda che / path / to / download è relativo al nome utente con cui accedi con ... e le password FTP sono notoriamente non sicure:)

    
risposta data 18.10.2011 - 08:00
fonte
1

Se vuoi procedere senza Xcode puoi anche usare curlmirror che si basa su curl che è già fornito con OSX. Se ottieni lo script dal sito web linkato sopra, devi rinominare la prima riga in #!/usr/bin/perl in un editor di testo di tua scelta.

    
risposta data 18.10.2011 - 16:08
fonte
0

Ti suggerisco di passare all'ultima build di snapshot di Cyberduck che dovrebbe migliorare l'inizializzazione del trasferimento dei download.

    
risposta data 26.10.2011 - 20:00
fonte

Leggi altre domande sui tag