Recherche de site Web

Pscp - Transférer/copier des fichiers sur plusieurs serveurs Linux à l'aide d'un seul shell


L'utilitaire Pscp vous permet de transférer/copier des fichiers vers plusieurs serveurs Linux distants à l'aide d'un seul terminal avec une seule commande. Cet outil fait partie de Pssh (Parallel SSH Tools), qui fournit des versions parallèles d'OpenSSH et d'autres outils similaires tels que :

  1. pscp – est un utilitaire permettant de copier des fichiers en parallèle sur un certain nombre d'hôtes.
  2. prsync – est un utilitaire permettant de copier efficacement des fichiers sur plusieurs hôtes en parallèle.
  3. pnuke – il permet de tuer les processus sur plusieurs hôtes distants en parallèle.
  4. pslurp – il permet de copier des fichiers de plusieurs hôtes distants vers un hôte central en parallèle.

Lorsqu'il travaille dans un environnement réseau où il existe plusieurs hôtes sur le réseau, un administrateur système peut trouver les outils répertoriés ci-dessus très utiles.

Dans cet article, nous examinerons quelques exemples utiles de l'utilitaire Pscp pour transférer/copier des fichiers vers plusieurs hôtes Linux sur un réseau.

Pour utiliser l'outil pscp, vous devez installer l'utilitaire PSSH sur votre système Linux, pour l'installation de PSSH, vous pouvez lire cet article.

  1. Comment installer l'outil Pssh pour exécuter des commandes sur plusieurs serveurs Linux

Presque toutes les différentes options utilisées avec ces outils sont les mêmes, à l'exception de quelques-unes qui sont liées aux fonctionnalités spécifiques d'un utilitaire donné.

Comment utiliser Pscp pour transférer/copier des fichiers sur plusieurs serveurs Linux

Lorsque vous utilisez pscp, vous devez créer un fichier séparé qui inclut le numéro d'adresse IP du serveur Linux et le numéro de port SSH dont vous avez besoin pour vous connecter au serveur.

Copier des fichiers sur plusieurs serveurs Linux

Créons un nouveau fichier appelé « myscphosts.txt » et ajoutons la liste des adresses IP des hôtes Linux et le numéro de port SSH (22 par défaut), comme indiqué.

192.168.0.3:22
192.168.0.9:22

Une fois que vous avez ajouté des hôtes au fichier, il est temps de copier les fichiers de la machine locale vers plusieurs hôtes Linux sous le répertoire /tmp à l'aide de la commande suivante.

pscp -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
Exemple de sortie
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

Explication sur les options utilisées dans la commande ci-dessus.

  1. Commutateur -h utilisé pour lire un hôte à partir d'un fichier et d'un emplacement donnés.
  2. Le commutateur -l lit un nom d'utilisateur par défaut sur tous les hôtes qui ne définissent pas d'utilisateur spécifique.
  3. Le commutateur -A indique à pscp de demander un mot de passe et de l'envoyer à ssh.
  4. Le commutateur -v est utilisé pour exécuter pscp en mode détaillé.

Copier des répertoires sur plusieurs serveurs Linux

Si vous souhaitez copier l'intégralité du répertoire, utilisez l'option -r, qui copiera de manière récursive des répertoires entiers comme indiqué.

pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Exemple de sortie
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

Vous pouvez afficher la page de saisie manuelle du pscp ou utiliser la commande pscp --help pour demander de l'aide.

Conclusion

Cet outil vaut la peine d'être essayé comme si vous contrôliez plusieurs systèmes Linux et disposiez déjà d'une configuration de connexion sans mot de passe basée sur une clé SSH.