SSH на несколько серверов, выполняющих несколько команд

У меня есть несколько хостов, которым необходимо установить одноразовый RPM, а также пакеты, принадлежащие CentOS-Debuginfo.repo. Эти машины в настоящее время отключены репо и gpgcheck включены. После того, как все установлено, мне нужно rpm –nodeps – некоторые пакеты, все время повторяя имя хоста каждой машины, к которой все это сделано.

Пока у меня есть это:

#!/bin/bash # SSH to hosts, then grab the GTS RPM and install it. Yum install required debugging packages, then rpm to erase unnneeded ones. cmds="echo $HOSTNAME; cd /tmp && wget http://download.sipxcom.org/pub/epel.bak/6/x86_64/gts-0.7.6-19.20111025.el6.x86_64.rpm /tmp; rpm -i /tmp/gts-0.7.6-19.20111025.el6.x86_64.rpm; yum --enablerepo debug --nogpg install -y db4-debuginfo.x86_64 expat-debuginfo.x86_64 glibc-debuginfo.x86_64 kernel-devel.x86_64 nss-softokn-debuginfo.x86_64 openssl-debuginfo.x86_64 python-debuginfo.x86_64 readline-debuginfo.x86_64 zlib-debuginfo.x86_64; for i in $(cat /tmp/testing/rpms_to_erase.txt); do rpm -e $i; done" hostlist=/tmp/testing/hostlist.txt for i in $HOSTLIST do ssh -qn $i "bash $CMDS" && "rpm -e gdm-plugin-fingerprint.x86_64 gdm-user-switch-applet.x86_64 gnome-applets.x86_64" done 

Как вы можете видеть, это довольно уродливо. Удивление, если у кого-то может быть более элегантное решение.

One Solution collect form web for “SSH на несколько серверов, выполняющих несколько команд”

Clusterssh (команда cssh) позволяет вам ssh сразу нескольким хостам

 cssh server1 server2 server3 

а затем все, что вы набираете, появляется во всех терминалах, когда они активны.

  • SSH jumphost без учетных записей пользователей на jumphost
  • Какой смысл в протоколе рыб?
  • Vim приостанавливается случайным образом в течение минуты или около того за раз
  • беспроблемный доступ к rsync с ssh через cron
  • Замена одного сервера ssh другим при сохранении ключей
  • Можно ли получить таблицу uid в Linux?
  • Запустить SSH через прокси-сервер SOCKS?
  • Как подключиться к SSH через промежуточный сервер?
  • Как rsync между двумя серверами через их общий хост Windows
  • Скопировать / вставить в SSH'd VIM из локального (Windows) буфера обмена
  • Пользователи chroot ssh в домашнюю директорию
  • Interesting Posts

    FreeBSD: использование python3 в uwsgi вместо python2

    пароль root не работает, но может ssh через пользователя sudo (centos)

    Предотвратите завершение сеанса GNU-экрана после того, как пользователь будет убит пользователем

    Как переопределить функцию bash с точки зрения старого определения?

    автоматические процессы убийства

    как временно отключить cronjob пользователя?

    Совместное использование нагрузки через несколько интерфейсов с использованием tc

    Проблема обновления Ubuntu php

    Как получить доступ ко всем 8 последовательным портам на моей 8-портовой последовательной PCI-карте

    Grep для нескольких строк, покажите количество строк после одной из строк (но не другой)

    Отключить прокрутку внутри терминала Xfce / Избегать прокрутки по истории команд

    Vim auto line-break работает не так, как ожидалось (обновление: проблема с неокомплектом)

    Регистратор данных на основе tcpdump

    Как преобразовать цветной pdf в черно-белый?

    Неправильный автоматический часовой пояс

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