Ich benutze Ansible, um Protokolle in das Backup-Verzeichnis zu verschieben (mit shell
Modul, mv
Befehl).Wie wird Ansible-Task ausgeführt, wenn das angegebene Verzeichnis nicht leer ist?
mv
Der Befehl schlägt fehl, wenn keine Dateien zu verschieben sind. Standardmäßig wird die gesamte Ansible-Wiedergabe fehlgeschlagen. ich mit Spiel fortgesetzt werden kann, selbst wenn Aufgabe (ignore_errors: yes
)
Einzahler diese Lösung, die ich bin nicht zufrieden, weil es
Fehlermeldung erzeugtTASK [Verschieben von Dateien auf Backup-Verzeichnis] **** ************************************** fatal: [xx.xx.xx.xx]: GESCHEITERT! ? = ... Keine solche Datei oder das Verzeichnis“, "stdout": "", "stdout_lines": [], "Warnungen": []} ... ignorieren
Wie zu überprüfen, ob Verzeichnis leer in ansible, und wenn sie leer jus Aufgabe überspringen?
groß, dank zu nutzen! Eine Frage: Ist es eine gute Idee, "changed_when: false" zu "find" hinzuzufügen? Dieser Befehl wird immer ausgeführt und ändert nichts. Ich füge normalerweise changed_when: false zu solchen reinen Tests hinzu, ohne Nebenwirkungen. Auf diese Weise werden die Handler nicht aufgerufen und die Wiedergabe-Wiederholung sieht besser aus (Ich habe = 0 geändert, es sei denn, etwas wird wirklich geändert). –