ダイナミックDNSへの登録を自動的に行う
以前、ダイナミックDNSで書いたように、ダイナミックDNSへIPアドレスを登録するスクリプトを準備しました。しかし、IPアドレスが変わるたびに手動で実行するのは面倒ですし、留守の間は困ります。そこで、cron でこのスクリプトを実行するようにします。山本恭弘さん作成の ddns-update.pl のコメントにもあるように、
5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl
を
/etc/crontab
に追加しました。cron は /etc/crontab のタイムスタンプが変わっているか、自分で調べるので、リスタートせずにそのままで OK です。しばらく様子を見ていたら、スクリプトがIPアドレスを記録するファイル current_ip の中身が空になっています。どうやらうまく動いていないようです。スクリプトを直接起動すると、うまく動くので、cron 絡みでなにかミスをしているようです。こんなときは、cron が何かエラーを出していないか、確認してみます。
/var/log/cron
が cron のログファイルです。これを見ると、スクリプトが意図した時刻に起動されていることが分かりました。しばらくしたら、root 宛てに Cron Daemon さんからメールが来ているのに気づきました。wget: not found だそうです。ログインシェルから実行したときと、cron から実行したときとで、環境変数 path が違っているとかそんなところだと思い(未確認)、スクリプトで wget を呼んでいるところを全部フルパスにしたら、うまく動くようになりました。
5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl
を
/etc/crontab
に追加しました。cron は /etc/crontab のタイムスタンプが変わっているか、自分で調べるので、リスタートせずにそのままで OK です。しばらく様子を見ていたら、スクリプトがIPアドレスを記録するファイル current_ip の中身が空になっています。どうやらうまく動いていないようです。スクリプトを直接起動すると、うまく動くので、cron 絡みでなにかミスをしているようです。こんなときは、cron が何かエラーを出していないか、確認してみます。
/var/log/cron
が cron のログファイルです。これを見ると、スクリプトが意図した時刻に起動されていることが分かりました。しばらくしたら、root 宛てに Cron Daemon さんからメールが来ているのに気づきました。wget: not found だそうです。ログインシェルから実行したときと、cron から実行したときとで、環境変数 path が違っているとかそんなところだと思い(未確認)、スクリプトで wget を呼んでいるところを全部フルパスにしたら、うまく動くようになりました。