Допустим, захотели сделать веб-страничку, чтобы нажатием кнопок выполнять шелл-команды на хосте (хостах), ждать результата выполнения (опциально выводить в реалтайме, но не обязательно), и сообщать обратно на веб-сайт результат об успешном (или не очень) выполнении.
При том, что команд можно выполнять несколько штук за раз, и они все должны выполниться поочерёдно, а затем результат о выполнении каждой должен быть отправлен обратно сайту.
Как лучше такое реализовать?
Сейчас думаю, что сайт пишет в БД все нажимаемые кнопочки на сайте (команды), а шелл-скрипт на хосте (хостах) опрашивает сайт каждые несколько секунд. Когда шелл-скрипт видит, что команда предназначена для его хоста (`hostname -f`), то выполняет её с указанным ID команды, а затем возвращает ответ на сервер результат о выполнении с этим ID, подтверждая, что команда выполнена успешно, или не успешно, или по некоторому таймауту команда может считаться не выполненной, или таймаута может не быть т.к. команду надо выполнить когда хост выйдет на связь опять.
Что-нибудь готовое, управление хостами через веб, имеется? Будет совсем хорошо, если оно будет распределённым т.е. подразумевает наличие множества хостов и единый интерфейс управления каждым — или будет дешевле на каждый хост в отдельности вешать отдельный веб-сервер для веб-интерфейса?