私はサービスの存在を確認してから、mongodなどのサービスを停止したいと思います。ここで"シェル"や "コマンド"を経由しないで、安全なモジュールによるサービスの状態
はストーピングサービスのためのコードです:
- name: stop
service:
name: mongod
state: stopped
しかし、あなたは二度目の上記のスクリプトを実行した場合、それはあなたのサービスが実行されていないエラーが発生します。
このスクリプトを実行する前に状態を確認するにはどうすればよいですか?サービスが実行されていることを確認してから停止する方法。
プレイブックに「シェル」オプションと「コマンド」オプションのどちらも使用しない場合は、私は安全なモジュールを使用します。で
ソリューション:あなたがアドバイスしてください解決策を見つけた場合
- name: Check if mongod is active
command: systemctl status mongod
register: deb_check
ignore_errors: yes
no_log: True
failed_when: false
# I ignored all errors when the process is dead
- name: Stop mongof if it is active otherwise SKIP
service:
name: mongod
state: stopped
when: deb_check.stdout.find('dead') == -1
:How to get service status by Ansible?は、私は古い溶液でとどまるので、残念ながら私は答えを見つけることができませんでしたシェルまたはコマンド