GNU/Linux >> Linux Esercitazione >  >> Linux

Caricamento di directory con sftp?

Non so perché sftp lo faccia, ma puoi solo copiare in modo ricorsivo se la directory di destinazione esiste già. Quindi fallo...

sftp> mkdir bin
sftp> put -r bin

CORRETTO :Inizialmente ho affermato erroneamente che OpenSSH non supportava put -r . Lo fa, ma lo fa in un modo molto strano. Sembra aspettarsi che la directory di destinazione esista già, con lo stesso nome della directory di origine.

sftp> put -r source
 Uploading source/ to /home/myself/source
 Couldn't canonicalize: No such file or directory
 etc.
sftp> mkdir source
sftp> put -r source
 Uploading source/ to /home/myself/source
 Entering source/
 source/file1
 source/file2

Ciò che è particolarmente strano è che questo si applica anche se si assegna un nome diverso alla destinazione:

sftp> put -r source dest
 Uploading source/ to /home/myself/dest
 Couldn't canonicalize: ...
sftp> mkdir dest
sftp> put -r source dest
 Uploading source/ to /home/myself/dest/source
 Couldn't canonicalize: ...
sftp> mkdir dest/source
sftp> put -r source dest
 Uploading source/ to /home/myself/dest/source
 Entering source/
 source/file1
 source/file2

Per un put ricorsivo meglio implementato , potresti usare PuTTY psftp invece lo strumento da riga di comando. È nel putty-tools pacchetto sotto Debian (e molto probabilmente Ubuntu).

In alternativa, Filezilla farà quello che vuoi, se vuoi usare una GUI.


Potresti essere interessato a usare rsync invece. Il comando per questo sarebbe

 rsync --delete --rsh=ssh -av bin/ remote-ip-or-fqdn:/home/earlz/blah/bin/

Questo copierà tutto in bin/ e posizionalo sul server remoto in /home/earlz/blah/bin/ . Come ulteriore vantaggio, verificherà innanzitutto se il file sul lato remoto non è cambiato e, in caso contrario, non lo invierà nuovamente. Inoltre, puoi aggiungere un'opzione -z e la comprimerà per te.


Linux
  1. Come lavorare con il client SFTP in Linux – 10 comandi sftp

  2. Sincronizzare le directory in entrambe le direzioni con Rsync?

  3. Hai problemi con i comandi di ricerca che eliminano le directory?

  4. Howto:Programmazione in C con directory su Linux

  5. Makefile con file sorgente in diverse directory

Come escludere file e directory con Rsync

Come confrontare le directory con Meld su Linux

Comando Linux rmdir per principianti (con esempi)

Mantenere sincronizzati file e directory Linux con rsync

Lsyncd:sincronizza le directory locali con Linux remoto

Guida per principianti FTP e SFTP con 10 esempi