noip2 service daemon
no-ip というDDNSサービスがあり、それがIP自動更新ツール (noip2) を提供しているが
サービスに設定できず起動時に自動的に起動できなかった。
その問題を解決したので記す。
というよりは、最近の Linux で採用されているバックグラウンドプロセス管理システムである systemd の使い方と、自前スクリプトをそれに登録する方法のまとめ。
自動更新ツールの README には init.d に登録するように書かれているが
旧式であるため、説明の方法には従わず下記の手順で systemd に登録する。
<設定ファイル作成>
/etc/systemd/system/noip2.service として下記の内容でファイルを作成。
[Unit]
Description=noip2 service
[Install]
WantedBy=default.target
[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
Restart=always
実際には上記ディレクトリにファイルは作成せず /usr/local/lib 以下に作成し
リンクを貼ることとした。
<systemd へ登録>
1.設定ファイルをリロードする。
sudo systemctl daemon-reload
2.設定を有効にする。
sudo systemctl enable noip2.service
3.サービスを開始
sudo systemctl start noip2.service
4.状態を確認
sudo systemctl status noip2.service
<ハマりかけたところ>
設定ファイルの Type=forking の記述がないとサービスがうまくスタートしなかった。