Home –  未分類 – CentOS7でrc.localないのでなんとかする(・_・;)

CentOS7でrc.localないのでなんとかする(・_・;)

CentOS6まででは/etc/rc.d/rc.localファイルに起動時に実行したい事を書いておけば実行されるので
あんまり良くないとは思いつつもちょっとしたことをお手軽に書いてしまったりしてました(・_・;)

しかしCentOS7ではsystemdへ移行した為、/etc/rc.d/rc.localがなくなりました(((( ;゚д゚))))アワワワワ

これはイカン。
どうにかせねばと思い調べたら、サービスの設定するのが適当なのかなと。

また忘れないようにするためのメモ書きみたいなものですが・・・。

最小限のサービス設定をしてみたい。

/etc/systemd/system/ 配下にサービスの設定ファイルを置くことでサービスとして認識させる事ができるみたいです。
また、/usr/lib/systemd/system 配下にもサービスの設定ファイルがあるようですが色々のサイトを確認したところほとんどのサイトが/etc/systemd/system/ にファイルを置いていたので /etc/systemd/system/ にファイルを作成してみました。

ファイルの中身は下記のような感じとなります。このファイルをhoge_server.serviceとして保存しました。

[Unit]
Description=hoge server
#After=postgresql.service

[Service]
Type=simple
ExecStart=/home/vagrant/hoge_server.sh
User=vagrant

[Install]
WantedBy=multi-user.target

今回の場合、/home/vagrant/hoge_service.shが実行される設定となります。
[Unit]セクションのAfterを設定することにより予め実行が必要なサービス起動後に実行することが可能になりますので、データベース等を使用する場合設定する必要がありそです。(まだ使ってないです)

いくつかのサイトでType=simpeを[Unit]の部分に書いているサイトがありましたがそのようにした場合、下記のエラーが発生しました。

9月 13 17:30:29 localhost.localdomain systemd[1]: [/etc/systemd/system/hoge_server.service:2] Unknown lvalue ‘Type’ in section ‘Unit’

[Service]セクションに移動したところ、エラーが無くなったので[Service]セクションに書くのが妥当ではないかと思ってます(・_・;)

起動について

systemctl enable hoge_server.service

上記のようにすることでOS起動時に自動実行させることが可能です。

systemctl start hoge_server.service

この方法で手動で動作させることが出来ます。

### 動作ログについて

journalctl -u hoge_server.service

とかで確認する事ができますが、色々オプションあるのでわかっていません_| ̄|○

ログについては勉強しなきゃなぁと思っています・・・・

コメントを残す