Czy można skopiować plik równolegle do wszystkich systemów jednocześnie? jak @ raz plik powinien zostać skopiowany na wszystkie maszyny ...
9
Jest sposób. Zobacz tę stronę Ubuntu.
IMIĘ
parallel-scp - parallel versions of scp
STRESZCZENIE
parallel-scp [OPTIONS] -h hosts.txt local remote
OPIS
pssh provides a number of commands for executing against a group of computers, using SSH. It's most useful for operating on clusters of homogenously-configured hosts. parallel-scp copy files in parallel to a set of machines.
Źródło: Ubuntu Manpages
Tak, aby zainstalować program równoległy-scp, musisz zainstalować pakiet pssh:
Następnie pojawią się polecenia (patrz man parallel-scp ):
źródło
Można to zrobić, zakładając, że wszystkie komputery docelowe mają odpowiednią konfigurację klucza ssh, więc nie trzeba wprowadzać hasła, aby się zalogować, to:
nie zrobi tego równolegle, ale jeden po drugim; jednak nie trzeba osobno sprawdzać każdego polecenia osobno, wszystkie uruchamiane są automatycznie.
źródło
&
tyle,scp $FILE $current_machine:$TARGET_PATH
jak sugerował @NiteRain, czy nie byłoby to w zasadzie wykonanie równoległe?Podam kilka przykładów użycia tego polecenia:
Aby zainstalować:
sudo apt install pssh
a to udostępni ci następujące polecenia: -parallel-scp
: równoległy program zabijania procesówparallel-ssh
: równoległy program sshparallel-rsync
: równoległy program zabijania procesówparallel-slurp
: równoległy program zabijania procesówparallel-nuke
: równoległy program zabijania procesówUżycie oparte na formacie:
Przykładowe zastosowanie:
Utwórz
hosts
plik, z któregopssh
będą odczytywane nazwy hostów, a plik przyjmie postać:[user@]host[:port]
, stąd [email protected]: 333Rzeczywiste polecenie kopiowania:
parallel-scp -h /path/to/hosts/file src dest
Aby skopiować $ HOME / demo.txt tp / tmp / na wszystkie serwery:
PREMIA
Uruchom polecenie na wszystkich serwerach:
Zabij proces na wszystkich serwerach:
Źródło: https://www.cyberciti.biz/cloud-computing/how-to-use-pssh-parallel-ssh-program-on-linux-unix/
źródło