DDNSをieServerで取って自動更新しようと思ったのでメモ。
OSはRaspbian(debian) jessieを使っているので、CronではなくSystemdで定周期タイマーをセットします。
Step.1 更新用スクリプトをダウンロード
/usr/local/ddnsフォルダにスクリプトファイルを格納する。
$ sudo mkdir /usr/local/ddns
$ sudo chmod 777 /usr/local/ddns
$ cd /usr/local/ddns
$ wget http://ieserver.net/ddns-update.txt
$ mv ddns-update.txt ddns-update.pl
Step2. スクリプトの設定をする
ファイルを開き、以下を編集する。
$ vim ddns-update.pl
$CURRENT_IP_FILE = "/usr/local/ddns/current_ip";
$LOG_FILE = "/usr/local/ddns/ip_update.log";
$ACCOUNR = "account_name";
$DOMAIN = "dip.jp";
$PASSWORD = "password";
Step3. スクリプトを使ってIP更新ができてるかチェック
実行
$ ./ddns-update.pl
確認
$ vim ip_update.log
Wed Dec 9 15:56:06 2015 account_name.dip.jp Updated 0.0.0.0 to 123.123.123.123
Updatedになっているか確認する。
Abortedになっている場合は設定がうまくいっていない。
Step4. systemdを使って定周期タイマーをセット
フォルダを作成して移動
$ sudo mkdir ~/.config/systemd/
$ sudo mkdir ~/.config/systemd/user
$ cd ~/.config/systemd/user
スクリプトを作成する
$ vim ddns-update.service
-----------------------------------------
[Unit]
Description=update to ieServer DDNS
[Service]
Type=simple
ExecStart=/usr/local/ddns/ddns-update.pl
[Install]
WantedBy=default.target
-----------------------------------------
$ vim ddns-update.timer
-----------------------------------------
[Unit]
Description = update to ieServer DDNS weekly
[Timer]
OnBootSec=1min
OnUnitActiveSec=weekly
Unit=ddns-update.service
[Install]
WantedBy=timers.target
-----------------------------------------
Step5. systemd更新&タイマー実行
systemd更新
$ systemctl --user daemon-reload
$ systemctl --user start ddns-update.timer
ちゃんとタイマーがセットされてるか確認
$ systemctl --user list-unit-files --type service --all
$ systemctl --user list-timers
目的のスクリプトが実行されたか確認
$ vim /usr/local/ddns/ip_update.log
0 件のコメント:
コメントを投稿