pscp - Transférer/copier des fichiers vers 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 :
- pscp – est un utilitaire pour copier des fichiers en parallèle sur un certain nombre d’hôtes.
- prsync - est un utilitaire pour copier efficacement des fichiers sur plusieurs hôtes en parallèle.
- pnuke - Il aide à tuer les processus sur plusieurs hôtes distants en parallèle.
- PSLURP - Il est utile de copier des fichiers de plusieurs hôtes distants vers un hôte central en parallèle.
Lorsque vous travaillez dans un environnement réseau où il y a plusieurs hôtes sur le réseau, un administrateur système peut trouver ces outils énumérés ci-dessus très utiles.
Dans cet article, nous allons voir 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.
- 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 à la fonctionnalité spécifique 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 de l’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 hôtes Linux, l’adresse IP 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 des options utilisées dans la commande ci-dessus.
- Commutateur -h utilisé pour lire un hôte à partir d’un fichier et d’un emplacement donnés.
- -l lit un nom d’utilisateur par défaut sur tous les hôtes qui ne définissent pas d’utilisateur spécifique.
- -Un commutateur indique à pscp de demander un mot de passe et de l’envoyer à ssh.
- -v switch est utilisé pour exécuter pscp en mode détaillé.
Copier des répertoires sur plusieurs serveurs Linux
Si vous voulez copier un répertoire entier, utilisez l’option -r, qui copiera récursivement 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 pour le pscp ou utiliser la commande pscp --help pour demander de l’aide.
Conclusion
Cet outil vaut la peine d’être essayé, car si vous contrôlez plusieurs systèmes Linux et que vous avez déjà configuré une connexion sans mot de passe basée sur une clé SSH.
