ADSL外部IPアドレスを定期的にチェックし、変更されている場合はメールに送信するシェルスクリプトがあります。
#! /bin/sh
NEWIP=`/usr/bin/curl ifconfig.me`
OLDIP=`cat ./current`
logger "$NEWIP ... $OLDIP"
if [ "$NEWIP" != "$OLDIP" ]; then
TIME=`/bin/date`
/usr/bin/sendEmail -v -f ip_watcher@xxxoo.com \
-s smtp.gmail.com:587 -xu ip_watcher@xxxoo.com -xp xxxxxx \
-t xxx@xxxxx.com \
-o tls=yes \
-u "$NEWIP" \
-m "$NEWIP $TIME" -a
/bin/echo "$NEWIP" > ./current
logger "IP of bjserver1 has changed ..."
else
logger "New IP is the SAME with old. not sending ..."
fi
これは、コマンドラインから実行すると完全に機能します。しかし、cronに入れた後は、NEWIPとOLDIPは常に同じです。理由はわかりませんが、誰か助けてもらえますか?