2008-10-11 2 views
8

Я пишу сценарий, который работает в системе через сеть. И тогда мне нужно запустить несколько команд на другом хосте. Как узнать, включена ли система?Как узнать, включена ли система?

Мой язык программирования - Perl, а целевой хост - RHEL5.

Есть ли какая-либо информация о прерывании ядра или сетевой загрузке, указывающая на включение системы и загрузку os?

[В другом случае] Мне также было интересно, если я просто включу свой аппарат вручную. когда он, как утверждается, включен. и когда предполагается, что ОС полностью загрузилась для работы, связанной с сетью, такой как выполнение там сетевой команды. Что делать, если система находится на DHCP, как бы удаленная система тогда искала эту машину [я думаю, это возможно через MAC-адрес. но если я ошибаюсь].

Если я пропустил любую информацию, не стесняйтесь спрашивать меня. Если у вас есть какие-либо предложения, чтобы сделать задачу проще, пожалуйста, поверхность их :)

Thanx imkin

ответ

12

Ну, я бы сказал, что система загружается, когда он может выполнить запрос вы сделали из него. То есть, демон sshd запущен. Это достаточно загружено для ваших целей (я полагаю, замените любой демон, который вам действительно нужен).

Итак, я бы послал сигнал включения питания и каждые 15-30 секунд проверял, могу ли я подключиться. Если мне не удалось подключиться в течение разумного времени для этой машины (2 минуты или 5 минут или что-то еще), я бы послал предупреждение в службу поддержки ИТ. Ну, я бы отправил его себе в первую очередь, и только однажды я исследовал несколько неудач или так и нашел их для всех законными, я бы начал отправлять его непосредственно в ИТ.

DHCP - это другой вопрос. Вам нужно будет начать изучать трансляцию или иметь демон на этой машине «позвонить домой» во время загрузки, чтобы зарегистрировать свой текущий IP-адрес. И он должен будет «звонить домой» каждый раз, когда обновление DHCP меняет свой IP-адрес. Это явно более запутанно. Старайтесь избегать DHCP на таких серверах, если это вообще возможно.

+0

Почему DHCP меняет IP-адрес? DHCP означает, что компьютер запрашивает адрес сети - это не означает, что адрес изменяется. Что фиксирует адрес - это маршрутизатор или любые ответы на запрос. Все, что нужно сделать, это указать маршрутизатору, чтобы он дал фиксированный IP-адрес машине. – 2008-10-12 08:56:19

+0

DHCP просто * может * изменить IP-адреса. Ничто не говорит об этом * must *. С этим нужно иметь дело - это либо настройка DHCP-сервера, либо изменение IP-адреса. – Tanktalus 2008-10-12 13:30:42

7

Я думаю, что проверка на sshd звучит как хороший подход.

Что касается проблемы DHCP: если другой компьютер находится в одной подсети, вы можете найти его по MAC-адресу, используя Net::ARP.

3

Как насчет добавления сценария на удаленный компьютер, который запускается при запуске, чтобы сообщить ему, когда он будет готов.

9

На перезагрузке вы можете установить скрипт в своем crontab с помощью специального утверждения @reboot (см. man 5 crontab). Этот скрипт мог отправить какое-либо уведомление другому компьютеру, уведомив его, что он сейчас.

Смежные вопросы