Intereting Posts
vsftpd не запускается: «systemd : vsftpd.service: главный процесс завершен, код = выведен, статус = 2 / INVALIDARGUMENT" Удаляется ли каталог, когда число жестких ссылок становится 0? команда status не распознает параметр `-p` в Ubuntu Сравните главы двух файлов в bash Shell – PTS / 0 неожиданно изменился на PTS / 1 Почему это произошло и как его изменить? Linux Изменить / добавить командную строку ядра из InitramFS «UserSpace» (BASH) Строка для выполнения сформирована правильно, но оценена с ошибками samba security share && user Баш не возвращается $? переменная правильно Сортировка по размеру Как определить, почему машина работает медленно? Использование dd для сохранения и восстановления загрузочного сектора? можно заморозить процесс в Linux и перезагрузить или выключить компьютер. Затем продолжайте процесс, который был заморожен? Почему у колокольчика есть предел? Невозможно подключить USB Wi-Fi к гостевому серверу Kali с помощью Virtual Box

Как я могу отправить один файл на несколько удаленных сайтов одновременно?

Может ли scp использоваться для одновременного отправки одного файла на несколько удаленных серверов? Если да, то как? Если нет, то какая альтернатива?

pdcp из пакета pdsh является одним из вариантов. pdsh был написан, чтобы помочь с управлением кластерами HPC – я использовал его для этого, и я также использовал его для управления несколькими некластеризованными машинами.

pdsh и pdcp используют гендерные группы для определения хостов и групп хостов («группа» – это любой произвольный тег, который вы назначаете хосту, а хосты могут иметь столько тегов, сколько захотите.)

Например, если у вас была группа, называемая «webservers» в /etc/genders которая включала hostA, hostB, hostC, то pdcp -g webservers myscript.sh /usr/local/bin копировал myscript.sh в / usr / local / bin / на всех трех хостах.

Аналогично, pdsh -g all uname -r будет запускать uname -r на каждом узле, помеченном «all» в / etc / genders, с выходом каждого хоста с префиксом имени хоста.

 $ pdsh -g all uname -r indra: 3.2.0-3-amd64 kali: 3.2.0-3-amd64 ganesh: 3.2.0-3-amd64 hanuman: 3.2.0-2-686-pae 

Команды pdsh и копии pdcp выполняются параллельно (с ограничениями и таймаутами, чтобы предотвратить перегрузку исходной системы).

Когда выполняемая команда производит многострочный вывод, это может привести к недоумению чтения. Другая программа в пакете pdsh , называемая dshbak может группировать вывод по имени хоста для упрощения чтения.


после просмотра всех ваших комментариев, возможно, что pdsh & pdcp может быть излишним для ваших нужд … он действительно разработан как инструмент системного администратора, а не обычный пользовательский пользователь без использования root.

Возможно, написание простой оболочки оболочки оболочки вокруг scp может быть достаточно хорошим для вас. например, это чрезвычайно простая минималистская версия такого сценария оболочки.

 #! /bin/bash # a better version would use a command line arg (eg -h) to get a # comma-separated list of hostnames, but hard-coding it here illustrates # the concept well enough. HOSTS="mindfreak@asper.comgrid.ac mindfreak@looper.comgrid.ac" # last argument is the target directory on the remote hosts target_dir="$BASH_ARGV" # all but the last arg are the files to copy files=${@:1:$((${#@} - 1))} for h in $HOSTS; do scp $files "$h:$target_dir" done 

Вместо того, чтобы одновременно отправлять файл на несколько целей, вы можете читать его несколько раз в одно и то же время.

Перенесите файл в NFS, смонтируйте эту файловую систему на своих целевых объектах и ​​скопируйте ее из NFS в местный адрес.

Чтобы сделать это вручную и одновременно, вы можете использовать cluster-ssh (cssh) для целей.