申し訳ありませんがUNIX初心者です。NASで実行されるスクリプトがあり、IPが何であるかを確認し、VPNが変更された場合にVPNに再接続するためのスクリプトを実行します。
注:この例では、以下のIPの最初の4つの数字を「x」に変更しました。実際のIPアドレスを反映する必要があることがわかっています。
#!/bin/sh
YOUR_IP="$(w3m -dump http://checkip.dyndns.org)"
echo "Current ip:" "$YOUR_IP"
if [ "$YOUR_IP" == "Current IP Address: XX.XX.148.73" ]
then
echo "UP VPN is active :)"
else
echo "DOWN VPN is disconnect :("
sh /opt/etc/init.d/S20openvpn restart
fi
echo "$(date +"%d / %m / %Y")"
echo "$(date +"%H : %M : %S")"
echo "------------------------"
exit
ifelseステートメントが実行されない理由を誰かに教えてもらえますか。私のログでは、以下を取得します。ステートメントはエラーである必要があると思います。そうでないと、何かがエコーされますが、現時点ではそうではありません。構文エラーの可能性があります。または、w3m -dumpが、elseが実行される前に結果を取得しない可能性があります。デバッグするのに十分なUNIXがわかりません。どんな助けでも素晴らしいでしょう。
Current ip: Current IP Address: XX.XX.148.73
16 / 05 / 2012
18 : 50 : 01