Eu usaria um script simples,
#!/bin/sh
TEMP=$(wget 216.146.39.70:80 -O - -o /dev/null | cut -d" " -f6 | sed 's/<\/body><\/html>//')
echo $TEMP >> /home/my_name/bin/ip_log
TODAY=$(date +"%c")
echo $TODAY >> /hme/my_name/bin/ip_log
exit 0
216.146.39.70 é checkip.dyndns.org, a propósito. Chame o script my_check , torne-o executável (chmod 755 my_check) e execute-o com o crontab a cada minuto:
* / 1 * * * * / home / my_name / bin / my_check
ou sempre que quiser. Barato, simples, personalizável, sem ping.