askold 30.07.2013 17:48
Есть вопрос! — Скрипт для дистанционной перезагрузки станций под Ubuntu
Есть сеть гибридная Linux&Windows.; C Windows workstations все понятно -psshutdown. А может существует программа позволяющая дистанционно перезагрузить Linux workstations.Или готовый скрипт с примером.Ньюанс здесь в том, что раб.станций с Linux -под 100 и прописывать каждую в скрипте - руки отвалятся. Как мне кажется, эта программа должна работать по принципу SNMP ловушки -сидеть и слушать определенный порт, при получении сигнала -активировать скрипт на раб.станции. Неплохо бы, чтобы прога была кросс-платформенна:Win&Linux;.
cppmm 30.07.2013 19:01 #
+ 0 -
По умолчанию Linux такого не позволяет. Если там дефолтные установки, придётся обойти все 100 компов и прописать там этот скрипт/или соответствующие настройки.
да. хотя бы настроить ssh придется. не все ли равно? - установить psshutdown тоже ведь нужно на каждой машине под win...
Поправьте, если я че упустил.
1. Подготовка: раскидываем по всем нужным серверам public ssh-ключики.
2. Далее суть: сканируем через nmap сеть и получаем список ip-адресов машин, у которых открыт 22 порт и выдергиваем только ip, после чего засылаем команду по ssh на ребут для каждого адреса:
3. Proffit!!!
Конечно, я это сочинил и написал за 2 минуты и не проверял на практике, но в целом я думаю смысл понятен. В зависимости от условий, ситуации можно добавить и белый список ip-адресов, и детальное ведение логов, и еще какие-то сопутствующие проверки. Внимание, возможны подводные камни.
Аналогично для виндузятных целей можно приспособить нечто на винде, ну уж там я тебе не сильный помощник. Мог и бы и полностью суть изложить, поскольку ты попросил решить конкретную задачу, но если объяснишь в общих чертах, может че другого люди посоветуют.
1. Подготовка: раскидываем по всем нужным серверам public ssh-ключики.
2. Далее суть: сканируем через nmap сеть и получаем список ip-адресов машин, у которых открыт 22 порт и выдергиваем только ip, после чего засылаем команду по ssh на ребут для каждого адреса:
1 |
for i in `nmap -sT -p 22 -oG - 192.168.10.* | grep open | awk '{print $2}'`; do echo $i > file.log; ssh root@$i "reboot"; done
|
3. Proffit!!!
Конечно, я это сочинил и написал за 2 минуты и не проверял на практике, но в целом я думаю смысл понятен. В зависимости от условий, ситуации можно добавить и белый список ip-адресов, и детальное ведение логов, и еще какие-то сопутствующие проверки. Внимание, возможны подводные камни.
Аналогично для виндузятных целей можно приспособить нечто на винде, ну уж там я тебе не сильный помощник. Мог и бы и полностью суть изложить, поскольку ты попросил решить конкретную задачу, но если объяснишь в общих чертах, может че другого люди посоветуют.