Запустите команду SSH на двух хостах, чье имя происходит из другой команды

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

Скажем, например,

arp |sort |awk '{print $1}'|grep 10.20.30.18 # IP's range from 180 to 189 so this does the trick 

выход

 xxx.xxx.xxx.180 xxx.xxx.xxx.181 

Поэтому я хочу, чтобы SSH и то и другое

 ps -ef | grep X11 | grep -v grep | awk '{print $2}' | xargs kill 

Как бы я продолжал об этом, не имея SSH в каждом, а затем убивая процесс?

2 Solutions collect form web for “Запустите команду SSH на двух хостах, чье имя происходит из другой команды”

Вы можете использовать цикл for :

 HOSTS='server1.example.com server2.example.com server3.example.com' for server in $HOSTS do ssh $server "ps -ef | grep X11 | grep -v grep | awk '{print \$2}' | xargs kill" done 

Или вы можете использовать одно из многих приложений, уже сделанных для этого. Как clusterssh и тому подобное.

Вы уверены, что все хосты, которые хотите убить процесс, находятся в кеш-файле arp?

Предполагая, что IP-адреса смежны, вам может быть лучше просто выполнить итерацию через ips:

 for i in {180..189} do ssh -l username 10.20.30.$[i} "ps -ef | grep X11 | grep -v grep | awk '{print $2}' | xargs kill" done 
  • Что может пойти не так, если мы отключим selinux
  • CentOS 7 устанавливает порт по умолчанию
  • Является ли моя версия SSH, OpenSSH или какой-либо другой садовой разновидности?
  • команда wrapper для sshd_config?
  • Введите пароль в SSH без ввода
  • SSH для пользователя без пароля для входа в систему
  • ssh изменить пользователя для одного хоста
  • автоматический пароль без пароля ssh при входе / перезапуске
  • Почему nano иногда показывает цвета через SSH?
  • piping ssh к сценарию оболочки и не видеть stdin echo
  • Интерактивный ssh ​​работает, но не rsync или scp, на OSX
  • Interesting Posts

    Как найти файлы изображений по содержанию

    объявить: «дополнительные атрибуты не вступают в силу до последующих присвоений»

    Как распространять TSTP во время запуска программы как другого пользователя

    как отправлять строки / сообщения в файл почтового журнала

    Составить строку IP-адресов с помощью командной строки bash

    Эквивалент subinacl.exe на linux / unix?

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

    Есть ли способ перезапустить XFCE с новыми настройками из сценария bash?

    Должен ли я использовать / dev / sda или / dev / sdb в fstab при загрузке с USB?

    как подключить устройства к соединениям с помощью nmcli?

    «Недействительное целевое устройство загрузчика» при установке Fedora с помощью anaconda

    команда прогресса не показывает прогресс mv

    sudo: apt-get: команда не найдена

    Почему «ping -l» не работает, когда работает ping?

    Есть ли инструмент, который автоматически вставляет и обновляет блок заголовка сценария, например, сценарии оболочки или Python?

    Linux и Unix - лучшая ОС в мире.