コンピュータが起動するたびに自動的にIPを送信したい。 /etc/rc.local
を編集します
sleep 10
ifconfig > /tmp/myip
scp /tmp/myip <server>
exit 0
試しましたが、inet addr, Bcast, Mask
に/tmp/myip
がありません。スクリプトの後でネットワークが始まると思います。それで、それをどのように行うのですか?どうもありがとうございました!
ifconfig
は出力を表示しません。おそらく、実行時までにネットワーク設定が完全に完了していないためです。さらに、動的IPアドレスがサーバーの稼働時間中に変更されないという100%の保証はありません。
dhclient
を使用している場合は、スクリプトをディレクトリ/etc/dhcp/dhclient-exit-hooks.d
に移動して、実行されるようにしますafter DHCP経由でIPアドレスを取得します。通常、Debianはこのディレクトリにデータを入力します。存在しない場合は、作成する必要がある場合があります。
スクリプトは、起動時および変更のたびにIPアドレスを送信するように変更できます。 IPアドレスのDHCPリース期間に応じて、可能性があるまたは可能性がない毎回コピーすることに関心があることに注意してください。
ISP /インターネット環境の場合、ダイナミックDNSサービスを使用することも(もっと)興味深いかもしれません。
詳細については、こちらをご覧ください ISPからのIPアドレスの変更に対応するためのより良い方法は?
そして
http://manpages.ubuntu.com/manpages/wily/man8/dhclient-script.8.html
解決策は、使用しているDHCPクライアントデーモンによって異なります。ほとんどのディストリビューション(* bsdおよびlinux)は、dhcpcd
またはdhclient
を使用します。どちらの場合も、クライアント構成にスクリプトを挿入できます。
dhcpcd
は/etc/dhcpcd.sh
スクリプトを実行します(存在する場合)。制御されたインターフェイスがアップまたはダウンするたびに実行されます。このスクリプトにscp
を挿入するだけです。
Hooking into DHCP events
dhcpcd will run /etc/dhcpcd.sh, or the script specified by the -c,
--script option. It will set $1 to a Shell compatible file that holds
various configuration settings obtained from the DHCP server and $2 to
either up, down or new depending on the state of dhcpcd. dhcpcd ignores
the exist code of the script.
dhclient
は、インターフェイスを設定した直後にETCDIR/dhclient-exit-hooks
スクリプトを呼び出します。 dhclient-script
のマニュアルページのHook
セクションの指示に従うことができます。
After all processing has completed, CLIENTBINDIR/dhclient-script checks
for the presence of an executable ETCDIR/dhclient-exit-hooks script,
which if present is invoked using the ´.´ command. The exit status of
dhclient-script will be passed to dhclient-exit-hooks in the exit_sta-
tus Shell variable, and will always be zero if the script succeeded at
the task for which it was invoked. The rest of the environment as
described previously for dhclient-enter-hooks is also present. The
ETCDIR/dhclient-exit-hooks script can modify the valid of exit_status
to change the exit status of dhclient-script.