【CentOS7/systemdの設定】サービス(デーモン)の遅延起動

予備知識

systemd の Unit についてやサービス起動の依存関係、順序関係の仕組みについては以下を参照下さい。

関連記事

systemctl list-dependencies コマンドは systemd の Unit の "依存関係" や "順序関係" を表示するコマンドです。この記事ではこのコマンドの使い方を紹介します。 systemctl list-d[…]

もしサービスの起動順序を定義したいのであれば、上記URLを参考に、systemd の設定において Before= や After= で定義するのが推奨です。

これから紹介するのはあまり推奨ではありませんが、無理やりサービスを遅延起動させる方法です。

chronyd を遅延起動させてみる

通常時において、"systemd-analyze plot > plot.svg" コマンドにて生成した svg ファイルをブラウザで開いてみると、chronyd の起動は以下のように表示されます。

chronyd.service の起動時のコマンドは以下のように定義されています。

[root@localhost ~]# cat /usr/lib/systemd/system/chronyd.service
~~~
ExecStart=/usr/sbin/chronyd $OPTIONS
~~~

この ExecStart の実行コマンドに遅延するコマンドを入れてしまおうという作戦です。

[root@localhost ~]# cp -p /usr/lib/systemd/system/chronyd.service /etc/systemd/system/
[root@localhost ~]# vi /etc/systemd/system/chronyd.service
ExecStart=/usr/sbin/chronyd $OPTIONS

の箇所を以下のように変更します。

ExecStart=/usr/bin/bash -c "sleep 10; /usr/sbin/chronyd $OPTIONS"

すると systemd-analyze plot > plot2.svg の結果が以下のように変わりました。

IT/インフラエンジニアの地位とスキル向上のために

関連記事

IT 技術の進化はとどまることを知りません。矢継ぎ早に新たな技術が出てきたり、数年前の技術が時代遅れになったりと、IT エンジニアは勉強し続ける運命のようです。 それをどう思うかはあなた次第。 ビジネスの基本は『付加価値を与える[…]

IMG
関連記事

nesuke の考える NW エンジニアの2つの道 ネットワークエンジニアには 2 つの道があります。 1 つはネットワーク構築一筋で、L4 までをひたすらきっちりと構築していく道。 もう 1 つはネットワークを軸として深堀し[…]

IMG