前のエントリは、/lib/systemd/system/bruschetta.service ファイルの書き方がわからない、というところで終わった。
Unit設定ファイル
その後、なんとなくではあるけど書けたので、とりあえずは動くようになった。参考になったページはここ。
cf. 第4回 Unit設定ファイルの記述方法 – ITPro
Unit設定ファイルというらしい。ともかく、このページを参考にして書いたのがこれ。
[Unit] Description=Bruschetta service After=network.target [Service] ExecStart=/etc/init.d/bruschetta start ExecStop=/etc/init.d/bruschetta stop Restart=always Type=forking PIDFile=/var/run/bruschetta.pid
このファイルから、/etc/systemd/system/bruschetta.service にリンクを張る。
bruschetta@wplj:~$ sudo ln -s /lib/systemd/system/bruschetta.service /etc/systemd/system/bruschetta.service
起動確認
で、起動。
bruschetta@wplj:~$ sudo service bruschetta start
やった!動いた!start
と stop
を繰り返してみると、ちゃんと起動、停止する。今度は大丈夫そうだ。
ところが
Ubuntu 自体を再起動すると、サービスが動いていない。またもググッて調べた結果、systemctl enable
コマンドを使えばいいらしい。
cf. Systemdを使ってさくっと自作コマンドをサービス化してみる – Qiita
bruschetta@wplj:~$ sudo systemctl enable bruschetta [sudo] bruschetta のパスワード: Synchronizing state of bruschetta.service with SysV init with /lib/systemd/systemd-sysv-install... Executing /lib/systemd/systemd-sysv-install enable bruschetta insserv: warning: script 'bruschetta' missing LSB tags and overrides update-rc.d: error: bruschetta Default-Start contains no runlevels, aborting.
あれぇ?
更にググるとこのページを見つけた。
cf. Systemd入門(4) – serviceタイプUnitの設定ファイル – めもめも
/lib/systemd/system/bruschetta.service ファイルに [Install] セクションを付け足してみる。
[Unit] Description=Bruschetta service After=network.target [Service] ExecStart=/etc/init.d/bruschetta start ExecStop=/etc/init.d/bruschetta stop Restart=always Type=forking PIDFile=/var/run/bruschetta.pid [Install] WantedBy=multi-user.target
今度はどうだ。
bruschetta@wplj:~$ sudo systemctl enable bruschetta Synchronizing state of bruschetta.service with SysV init with /lib/systemd/systemd-sysv-install... Executing /lib/systemd/systemd-sysv-install enable bruschetta insserv: warning: script 'K01bruschetta' missing LSB tags and overrides insserv: warning: script 'bruschetta' missing LSB tags and overrides update-rc.d: error: bruschetta Default-Start contains no runlevels, aborting.
ああダメだ。……というところで今日は時間切れ。