J'essaie de démarrer Filebeat (ou d'ailleurs tout autre processus qui s'exécutera en continu à la demande) sur plusieurs hôtes en utilisant ansible. Je ne veux pas qu'ansible attende que le processus continue. Je veux qu'Ansible puisse tirer et oublier et sortir et garder le processus à distance en arrière-plan. J'ai essayé d'utiliser les options ci-dessous:
---
- hosts: filebeat
tasks:
- name: start filebeat
option a) command: filebeat -c filebeat.yml &
option b) command: Nohup filebeat -c filebeat.yml &
option c) Shell: filebeat -c filebeat.yml &
async: 0 //Tried without as well. If its > 0 then it only waits for that much of time and terminates the filebeat process on remote Host and comes out.
poll: 0
Réponse simplifiée de lien J'ai mentionné dans le commentaire:
---
- hosts: centos-target
gather_facts: no
tasks:
- Shell: "(cd /; python -mSimpleHTTPServer >/dev/null 2>&1 &)"
async: 10
poll: 0
Notez les parenthèses de sous-coque.
Mise à jour: en fait, ça devrait aller sans async
, n'oubliez pas de rediriger stdout:
- name: start simple http server in background
Shell: cd /tmp/www; Nohup python -mSimpleHTTPServer </dev/null >/dev/null 2>&1 &