2009-09-12 21:39:59 +0000 2009-09-12 21:39:59 +0000
201
201

Come posso ottenere un'intera directory in sftp?

Sto appena imparando a usare sftp, e voglio copiare una directory dal computer remoto al mio computer locale. Se provo

get [directory]
``` ```
Cannot download non-regular file: /home/mpirocch/Documents

mi dà questo errore:

&001

get -R non funziona.

Risposte (9)

282
282
282
2010-11-29 21:38:08 +0000

Utilizzare la bandiera -r (ricorsiva):

get -r *
52
52
52
2009-09-12 21:51:06 +0000

Uso:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
42
42
42
2010-04-08 13:54:47 +0000

Usare lftp :

lftp sftp://user@host

Poi, all'interno di lftp, cd nella directory che si vuole copiare, e usare il comando mirror per scaricare ricorsivamente la directory selezionata, in questo modo:

mirror

Questo comando accetta opzioni e argomenti:

mirror [_OPTIONS_] [_source_ [_target_]]
``` ```
mirror -R

Per esempio, l'opzione -R (o --reverse) farà in modo di caricare l'albero delle directory locali nella directory remota:

&001 &001

Si veda la pagina man di lftp(1) sul sito del progetto o su Debian. org per altri comandi e opzioni.

17
17
17
2014-03-10 01:18:10 +0000

bene questa piccola guida dovrebbe essere d'aiuto, mirror di un server remoto su una cartella locale con lftp

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = utilizza il protocollo SFTP
  • mirror = modalità mirror
  • verbose = mostra i file che vengono scaricati
  • use-pget-n = numero di segmenti, molto utile per velocizzare i file di grandi dimensioni
  • parallel = scarica i file moltiplicatori allo stesso tempo

se si desidera scaricare i file in parallelo spegnere use-pget-n=8 con --parallel=8

spero che questo aiuti chiunque abbia bisogno di copiare una cartella remota in una cartella locale

15
15
15
2009-09-13 03:11:22 +0000

Non usate direttamente il programma sftp se trovate qualcosa di meglio. Per Linux, molti file manager (almeno Nautilus e Dolphin, quelli di GNOME e KDE) supportano sftp in modo nativo, e c'è sempre sshfs. Per windows, c'è WinSCP, e probabilmente altri . Lo scopo di tutti questi è di permettere l'accesso ai file su sftp come se fossero su un normale filesytem, così non devi preoccuparti di accedervi su sftp.

14
14
14
2009-09-12 22:34:42 +0000

Prova mget invece di get.

Chiarimento: mget ** funzionerà** se ti trovi all'interno della directory che vuoi copiare; se fai una cosa del genere:

sftp> cd dir_to_get
sftp> mget *

otterrai tutti i file in quella directory. Tuttavia, otterrà non ricorsivamente il contenuto di qualsiasi sottodirectory.

10
10
10
2012-03-06 16:56:09 +0000
get -r [directory]

ottiene [directory] e tutto quello che c'è sotto, dove r sta per ricorsivo. L'ho trovato semplicemente digitando help da sftp.

4
4
4
2013-01-11 09:50:29 +0000

Come con cp:

scp -rp user@host:/path/to/dir dir

Quanto detto sopra conserverà tempi e modalità dei file e delle sottodirectory originali. Ciò è particolarmente utile per il recupero dei backup.

0
0
0
2011-09-28 08:39:19 +0000

Ho la cartella Java dist nel server remoto, dove ho il seguente albero:

- dist
--- Audio.jar
--- README
--- lib
----- lib.jar

Goal is: Voglio usare SFTP? E metterli in /tmp/<>

Passo 1. sftp remoteuser@ip

Passo 2. cd /var/tmp

Passo 2. lmkdir /tmp/dist; lmkdir /tmp/dist/lib

Passo 3. lcd /tmp/dist

Step 4. mget *

Step 5. lcd /tmp/dist/lib

Step 6. mget *

Step 7. finalmente ho il mio obiettivo

$ ls
Audio.jar lib README.TXT