GNU/Linux >> Tutoriels Linux >  >> Linux

Télécharger des répertoires avec sftp ?

Je ne sais pas pourquoi sftp fait cela, mais vous ne pouvez effectuer une copie récursive que si le répertoire de destination existe déjà. Alors fais ça...

sftp> mkdir bin
sftp> put -r bin

CORRIGÉ :J'ai d'abord affirmé à tort qu'OpenSSH ne supportait pas put -r . C'est le cas, mais il le fait d'une manière très étrange. Il semble s'attendre à ce que le répertoire de destination existe déjà, avec le même nom que le répertoire source.

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

Ce qui est particulièrement étrange, c'est que cela s'applique même si vous donnez un nom différent à la destination :

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

Pour un put récursif mieux implémenté , vous pouvez utiliser le PuTTY psftp outil de ligne de commande à la place. C'est dans le putty-tools package sous Debian (et très probablement Ubuntu).

Alternativement, Filezilla fera ce que vous voulez, si vous voulez utiliser une interface graphique.


Vous pourriez être intéressé par l'utilisation de rsync Au lieu. La commande pour cela serait

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

Cela copiera tout dans bin/ et placez-le sur le serveur distant en /home/earlz/blah/bin/ . Comme avantage supplémentaire, il vérifiera d'abord si le fichier du côté distant n'a pas changé, et si ce n'est pas le cas, il ne le renverra pas. De plus, vous pouvez ajouter une option -z et elle le compressera pour vous.


Linux
  1. Comment travailler avec le client SFTP sous Linux - 10 commandes sftp

  2. Comment obtenir Ls pour répertorier les répertoires avec une barre oblique à la fin ?

  3. Conserver la date de modification des répertoires/dossiers avec Rsync ?

  4. Comment supprimer récursivement des répertoires avec Wildcard ?

  5. Vous rencontrez des problèmes avec les répertoires d'élagage des commandes de recherche ?

Comment exclure des fichiers et des répertoires avec Rsync

Comment comparer des répertoires avec Meld sous Linux

Commande Linux rmdir pour les débutants (avec exemples)

Synchronisation des fichiers et répertoires Linux avec rsync

Lsyncd - Synchroniser les répertoires locaux avec Linux distant

Makefiles avec des fichiers source dans différents répertoires