Zoeken op website

Pscp - Bestanden overbrengen/kopiëren naar meerdere Linux-servers met behulp van één shell


Met het hulpprogramma Pscp kunt u bestanden overbrengen/kopiëren naar meerdere externe Linux-servers met behulp van één terminal en met één enkele opdracht. Deze tool is een onderdeel van Pssh (Parallel SSH Tools), dat biedt parallelle versies van OpenSSH en andere soortgelijke tools zoals:

  1. pscp – is een hulpprogramma voor het parallel kopiëren van bestanden naar een aantal hosts.
  2. prsync – is een hulpprogramma voor het efficiënt kopiëren van bestanden naar meerdere hosts tegelijk.
  3. pnuke – het helpt om processen op meerdere externe hosts parallel te beëindigen.
  4. pslurp – het helpt om bestanden parallel van meerdere externe hosts naar een centrale host te kopiëren.

Wanneer u in een netwerkomgeving werkt waar er meerdere hosts op het netwerk zijn, kan een systeembeheerder de hierboven genoemde hulpmiddelen erg handig vinden.

In dit artikel zullen we enkele nuttige voorbeelden bekijken van het hulpprogramma Pscp voor het overbrengen/kopiëren van bestanden naar meerdere Linux-hosts op een netwerk.

Om de pscp tool te gebruiken, moet je het PSSH-hulpprogramma op je Linux-systeem installeren. Voor de installatie van PSSH kun je dit artikel lezen.

  1. Hoe Pssh Tool te installeren om opdrachten uit te voeren op meerdere Linux-servers

Bijna alle verschillende opties die met deze tools worden gebruikt, zijn hetzelfde, behalve enkele opties die verband houden met de specifieke functionaliteit van een bepaald hulpprogramma.

Hoe u Pscp gebruikt om bestanden over te dragen/kopiëren naar meerdere Linux-servers

Wanneer u pscp gebruikt, moet u een apart bestand maken met het aantal IP-adressen van de Linux-server en het SSH-poortnummer dat u nodig hebt om verbinding te maken met de server.

Kopieer bestanden naar meerdere Linux-servers

Laten we een nieuw bestand maken met de naam “myscphosts.txt” en de lijst met het IP-adres van de Linux-hosts en het SSH-poortnummer (standaard 22) toevoegen, zoals weergegeven.

192.168.0.3:22
192.168.0.9:22

Nadat u hosts aan het bestand heeft toegevoegd, is het tijd om bestanden van de lokale machine naar meerdere Linux-hosts onder de map /tmp te kopiëren met behulp van de volgende opdracht.

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/
Voorbeelduitvoer
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

Uitleg over de opties die in het bovenstaande commando worden gebruikt.

  1. -h-schakelaar die wordt gebruikt om hosts uit een bepaald bestand en een bepaalde locatie te lezen.
  2. -l schakelaar leest een standaard gebruikersnaam op alle hosts die geen specifieke gebruiker definiëren.
  3. -A schakelaar vertelt pscp om een wachtwoord te vragen en dit naar ssh te sturen.
  4. De -v-schakelaar wordt gebruikt om pscp in de uitgebreide modus uit te voeren.

Kopieer mappen naar meerdere Linux-servers

Als je de hele map wilt kopiëren, gebruik dan de -r optie, die recursief hele mappen kopieert, zoals weergegeven.

pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Voorbeelduitvoer
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

U kunt de handmatige invoerpagina voor de pscp bekijken of de opdracht pscp --help gebruiken om hulp te zoeken.

Conclusie

Deze tool is het proberen waard alsof je meerdere Linux-systemen bestuurt en al een op SSH-sleutel gebaseerde, wachtwoordloze login-configuratie hebt.