バリュードメインで動的 DNS (DDNS) 更新する init.d スクリプト
投稿日:
ドメイン管理を、さくらインターネット から、 バリュードメイン に移管しました。
理由としては、いままで外部から自宅サーバーに接続するのに、 Dynamic Do!.jp という、DDNS サービスを利用していたのですが、 せっかくこのドメイン(k-ui.jp)を持っているので、これのサブドメインを使って 自宅サーバーにアクセスしたいと考えたからです。(加えて k-ui.jp に DNS サーバ立てるより管理が簡潔になりそう。)
ついでに、DDNS アップデートを、cron じゃなくて init.d スクリプトにやらせてみよう って考えて作ったのがこれ。
インストール
バリュードメインの”ダイナミック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 でしか
動かせなくなるのが嫌なので使いませんでした。