8

ネットワーク経由でシステムの電源を入れるスクリプトを書いています。そして、他のホストでいくつかのコマンドを実行する必要があります。システムの電源が入っているかどうかを確認するにはどうすればよいですか?

私のプログラミング言語は Perl で、ターゲット ホストは RHEL5 です。

システムの電源がオンになり、OS がロードされたことを示すカーネル割り込みまたはネットワーク ブート情報はありますか?

[別のシナリオでは] 念のため、マシンの電源を手動でオンにするかどうかも考えていました。電源が入ったと正確に言われているのはいつですか。また、ネットワークコマンドの実行など、ネットワーク関連の操作のためにOSが完全に起動したと想定されるのはいつですか。システムがDHCP上にある場合、リモートシステムはどのようにしてこのマシンを検索しますか[MACアドレスを介して可能だと思います. しかし、私が間違っている場合]。

情報を逃した場合は、お気軽にお尋ねください。タスクを簡単にするための提案がある場合は、それらを表面化してください:)

ありがとうございます

4

4 に答える 4

12

ええと、システムは、あなたが行った要求を実行できるようになったときに起動したと言えます。つまり、sshd デーモンが実行されています。それはあなたの目的のために十分に起動されています(私は推測します-本当に必要なデーモンの代わりになります)。

そのため、電源オンの信号を送信し、15 ~ 30 秒ごとに接続できるかどうかを確認します。そのマシンにとって妥当な時間 (2 分または 5 分など) 内に接続に失敗した場合は、IT サポート チームにアラートを送信します。最初に自分自身に送信し、いくつかの障害を調査してすべてが正当であることが判明した場合にのみ、IT に直接送信し始めます。

DHCP は別の質問です。ブロードキャストについて学習するか、そのマシンのデーモンを起動時に「コール ホーム」にして、現在の IP アドレスを登録する必要があります。また、DHCP の更新によって IP アドレスが変更されるたびに、「ホームにコール」する必要がありました。これは明らかにもっと複雑です。可能であれば、そのようなサーバー マシンでは DHCP を避けるようにしてください。

于 2008-10-11T14:16:30.453 に答える
9

再起動するマシンで、特別な@rebootアサーションを使用して crontab にスクリプトをインストールできます (「参考文献」を参照man 5 crontab)。そのスクリプトは、何らかの通知を他のマシンに送信して、現在稼働中であることを通知できます。

于 2008-10-11T14:37:48.883 に答える
7

sshd をチェックするのは良いアプローチだと思います。

DHCP の問題については、他のコンピューターが同じサブネット上にある場合、Net::ARPを使用して MAC アドレスで調べることができます。

于 2008-10-11T14:24:26.117 に答える
3

起動時に実行されるスクリプトをリモートマシンに追加して、準備ができたときに通知するようにしてください。

于 2008-10-11T14:34:06.877 に答える