起動するたびにコンピュータのIPを自動的に送信したいと思います。私は編集する/etc/rc.local
sleep 10
ifconfig > /tmp/myip
scp /tmp/myip <server>
exit 0
inet addr, Bcast, Mask
私はそれを試しましたが、そこにはありません/tmp/myip
。スクリプト後にネットワークが起動したようです。だから何をしますか?とても感謝しています!
答え1
ifconfig
出力は表示されません。実行時にネットワーク設定がまだ完全に完了していない可能性があります。また、サーバーの稼働時間中に動的IPアドレスが変更されないという100%の保証はありません。
を使用している場合は、dhclient
スクリプトをそのディレクトリに移動して/etc/dhcp/dhclient-exit-hooks.d
実行します。後ろにDHCPを介してIPアドレスを取得します。 Debian は通常このディレクトリを埋めます。ディレクトリがない場合は、新しく作成する必要があります。
起動時とIPアドレスが変更されるたびにIPアドレスを送信するようにスクリプトを変更できます。 IPアドレスのDHCPリース期間に応じて可能またはおそらく毎回コピーに興味があります。
ISP/インターネット環境にいる場合は、ダイナミックDNSサービスを使用するのが面白いかもしれません。
詳しくはこちらをご覧ください。ISPの変更IPアドレスを処理するためのより良い方法は何ですか?
そして
http://manpages.ubuntu.com/manpages/wily/man8/dhclient-script.8.html
答え2
回避策は、使用する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
インターフェイスを設定したらすぐにスクリプトを呼び出します。Hook
マニュアルページセクションの指示に従うことができますdhclient-script
。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.
答え3
ifconfig ethx > /tmp/myip
xはインターフェイス番号です(例:eth0)。