Sto utilizzando Ansible per spostare i registri nella directory di backup (utilizzando il modulo shell
, mv
).Come eseguire un'attività Ansible se la directory specificata non è vuota?
mv
comando non riesce se non ci sono file da spostare. Per impostazione predefinita, l'intera riproduzione Ansible ha esito negativo. posso procedere con il gioco, anche se operazione non riesce (ignore_errors: yes
)
io non sono soddisfatto di questa soluzione, perché produce il messaggio di errore
TASK [spostare file in directory di backup] **** ************************************** fatale: [xx.xx.xx.xx]: FALLITA! ? = ... No such file or directory", "stdout": "", "" stdout_lines: [], "avvertimenti": []} ... ignorando
Come controllare se directory è vuoti in ansible, e se vuoti jus saltare compito?
risposta
grande, grazie! Una domanda: è una buona idea aggiungere "changed_when: false" al task "find"? Questo comando è sempre in esecuzione, non cambia mai nulla. Di solito aggiungo changed_when: false a tali test puri, senza effetti collaterali. In questo modo, i gestori non vengono chiamati e il riepilogo del gioco sembra migliore (ho cambiato = 0, a meno che qualcosa non sia realmente cambiato). –