電卓片手に

バリュードメインで動的 DNS (DDNS) 更新する init.d スクリプト

投稿日:

ドメイン管理を、さくらインターネット から、 バリュードメイン に移管しました。

理由としては、いままで外部から自宅サーバーに接続するのに、 Dynamic Do!.jp という、DDNS サービスを利用していたのですが、 せっかくこのドメイン(k-ui.jp)を持っているので、これのサブドメインを使って 自宅サーバーにアクセスしたいと考えたからです。(加えて k-ui.jp に DNS サーバ立てるより管理が簡潔になりそう。)

ついでに、DDNS アップデートを、cron じゃなくて init.d スクリプトにやらせてみよう って考えて作ったのがこれ。

kui/ddns-updater - GitHub

インストール

バリュードメインの”ダイナミックDDNS機能のご利用方法” のステップ 12 まで設定したら kui/ddns-updater - GitHub の README.md のように実行をする。etc/ddns-updater を編集するときは、 バリュードメインに登録したダイナミック DDNS 更新するためのパスワード等を入力する。

使い方

設定が正しいかどうか確認するには、

$ sudo /etc/init.d/ddns-updater update

と実行し、更新を一度だけ実行してみる。これで問題なければ、ほかの init.d スクリプト同様、 システムを再起動するか、下記を実行すれば良い。

$ sudo /etc/init.d/ddns-updater start

init.d スクリプト初めて作ってみたんだけど

「cron だと、システムのセットアップする際に毎回 crontab -e で登録しないといけないので めんどうだースクリプトを配置するだけにしたい」という動機で作りました。

しかし、pid や log の管理が意外と面倒なので、次から init.d スクリプト書くときは、 これの update 部分を書き換えて使いまわそうと思いました。。。しかしそれってやってることが cron と対して変わらないんだよなーとも。

Debian に限った話をすると start-stop-daemon が便利そうなんだけど、Debian でしか 動かせなくなるのが嫌なので使いませんでした。