ゆるい感じのプログラムを書きたい。

プログラムの敷居を下げて、多くの人が開発出来るように色々書いていきます!

【モジュールの使い方】service

機能

serviceモジュールを使用することで、hostsで指定したサーバで以下のような操作を実施できる

  • サービスのstart/stop/restart/reload
  • サービスのenable化/disable化

使用例

サービス起動及び自動起動設定

  • nginxサービスを起動させ、enable(有効状態)とする
- hosts: all
  become: yes
  tasks:
    - name: Strat and enable nginx
      service :
        name: nginx
        state: started
        enable: yes


主なパラメータ

パラメータ 必須 デフォルト値 選択肢 説明
name サービスの名前
enable yes/no 起動時にサービスを開始するのか設定
yes:enable(有効)状態
no:disable(無効)状態
注:stateの設定とenableの設定どちらかの1つの設定が必須
state reloaded
restarted
started
stopped
サービスの操作内容を指定
注:stateの設定とenableの設定どちらかの1つの設定が必須
選択したinitシステムが正常に動作しない場合でも、サービスが開始されて無ければ「reloaded」によってサービスが開始されることに注意してください。


全パラメータ

パラメータ 必須 デフォルト値 選択肢 説明
arguments コマンドラインで提供されるつい引数
systemdでリモートホストを使用している間、この設定は無視されます。
エイリアス:args
enable yes/no 起動時にサービスを開始するのか設定
yes:enable(有効)状態
no:disable(無効)状態
注:stateの設定とenableの設定どちらかの1つの設定が必須
name サービスの名前
pattern serviceがstatusコマンドで応答しない場合:ステータス結果の代用としてpsコマンドの出力が表示されるように、検索するsubstringに名前を付けます。
文字列が見つかった場合:サービスが開始されたとみなされる
systemdでリモートホストを使用している間、この設定は無視されます。
runlevel "default" OpenRC initスクリプト(Gentooなど)の場合のみ
このサービスが属するrunlevel
systemdでリモートホストを使用している間、この設定は無視されます。
sleep restartの場合、stopコマンドとstart開始コマンドの間にこの数秒間sleepします
これは、プロセスを停止の通知直後に終了する、動作の悪いinitスクリプトを回避するのに役に立つ
すべてのサービスマネージャがスリープをサポートしているわけではありません。
systemdを使用する場合、この設定は無視されます。
state reloaded
restarted
started
stopped
サービスの操作内容を指定
注:stateの設定とenableの設定どちらかの1つの設定が必須
選択したinitシステムが正常に動作しない場合でも、サービスが開始されて無ければ「reloaded」によってサービスが開始されることに注意してください。
use "auto" serviceModuleが実際にシステム固有のモジュールを使用します。
通常は自動検出は、この設定により特定のモジュールを強制できます
通常、「ansible_service_mgr」ファクトの値を使用し、一致するものが見つからない場合は古い「service」モジュールにフォールバックします。


ドキュメント

【Ansible Documentation】Service Template

参考サイト

matsublog Ansible:serviceモジュールについて