Пожалуйста, сначала внимательно прочтите проблему, а затем дайте решение ...................
у нас есть 3 файла в каталоге
для функции start (): она проверяет, является ли arg2 парой или парой с одним IP, а затем запускает его.
для функции stop (): она проверяет, является ли arg2 парой или парой с одним IP, а затем останавливает его.
для функции rules (): она проверяет, является ли arg3 новыми правилами или такими же правилами, а затем копирует его
для функции put_files (): она используется с arg2 и проверяет, является ли arg2 парой или парой с одним IP
like: ./myscript.sh put_files all-pair
or ./myscript.sh put_files 192.168.20.13-192.168.20.21
2. Файл deployment_function: файл deploymet_function извлекает IP-пару из файла server_list.txt в форме PAIR.
server_list.txt содержит IP-адреса хостов в виде IP-пары (сервер C ++ - сервер базы данных), как это.
192.168.20.13-192.168.20.21
192.168.20.22-192.168.20.34 192.168.20.42-192.168.20.45
Базовый синтаксис моего скрипта:
./myscript.sh arg1 arg2 arg3
где, arg1 = запускать или останавливать или помещать файлы
arg2 = все пары или одна пара IP
arg3 = новые правила или те же правила
Мы выполняем наш скрипт следующими способами ...
Проблема: На самом деле, он выполняется нормально, но для выполнения на всех IP-парах требуется больше времени, потому что он выполняется последовательно. сначала он переходит на 192.168.20.21, затем на 192.168.20.13, затем на 192.168.20.34 и 192.168.20.22 ..... при получении ошибки он останавливается на этом сервере. и не выполнять дальше на остальной IP-паре.
Я хочу выполнить myscript на всех серверах параллельно, и при возникновении ошибки укажите этот сервер и выполните furtur. Итак, есть ли какое-либо решение, в котором я могу выполнять один и тот же скрипт параллельно без изменений в myscript. поэтому, пожалуйста, помогите мне найти правильный способ сделать это ...
Вы можете попробовать использовать pdsh (Parallel Distributed Shell). Pdsh - это эффективный многопоточный клиент удаленной оболочки, который выполняет команды на нескольких удаленных хостах параллельно. Хотя он не обновлялся довольно долгое время, он по-прежнему отлично работает, когда я запускаю сценарии на 700 машинах.