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 の記述がないとサービスがうまくスタートしなかった。