Назад | Перейти на главную страницу

Ищете пакет, который использует псевдонимы команд на нескольких удаленных хостах с помощью ssh

Я хотел бы найти программу, которая поддерживает список команд, которые могут быть псевдонимами для разных хостов. например, у нас есть сервер базы данных и четыре веб-сервера. распространенная задача - войти на сервер администратора и перезапустить mysql с помощью

# ssh dbserver "service mysql restart"

затем мы перезапускаем каждый из веб-серверов, запустив

# ssh webserver1 "service apache2 restart"
# ssh webserver2 "service apache2 restart"
# ssh webserver3 "service apache2 restart"
# ssh webserver4 "service apache2 restart"

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

# blah dbserver,webserver1-4 "restartServices"

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

Для этого вы можете написать свой собственный сценарий bash.

#!/bin/bash
ssh server 1 "service apache2 restart"
ssh server 2 "service apache2 restart"
ssh server 3 "service apache2 restart" etc....

Затем просто запустите сценарий.

Мне кажется, что ты хочешь Rundeck. Он имеет приятный веб-интерфейс, но также хорошо работает в командной строке.

Это можно сделать несколькими способами.

Возможно, самым простым способом было бы использовать пшш (параллельный ssh).

Если ваши потребности более сложные, вы можете использовать фреймворк вроде Ткань или MCollective.