2017-12-17 4 views
-4

Bitte beachten Sie, dass ich versuche, eine Bulk-Dateien von meinem Quellserver auf den Zielserver mit Ansible zu kopieren. Während eines Fehlers. Bitte hilf mir.Massenkopieren mit Wildcard in Ansible

--- 
- name: Going to copy bulk files 
hosts: test 
vars_prompt: 
- name: copy 
prompt: Enter the Bulk File to Copy 
private: no 
tasks: 
- name: Copy bulk files 
shell: cp /tmp/guru/{{ copy }}* /ansible/sri 
+0

Welcher Fehler wird ausgelöst? –

+1

Eins ist sicher: Sie können keine "Bulk-Dateien von meinem Quellserver auf den Zielserver * kopieren", indem Sie den Befehl 'cp' ausführen. – techraf

+0

"msg": "Rückkehrcode ungleich null", "rc": 1, "start": "2017-12-17 16: 12: 08.309199", "stderr": "cp: can not stat '/ tmp/guru/a * ': Keine solche Datei oder Verzeichnis ", " stderr_lines ": [ " cp: kann nicht stat'/tmp/guru/a * ': Keine solche Datei oder Verzeichnis " ], " stdout " : "", "stdout_lines": [] } – Srikanth

Antwort

2

Die shell module führt einen Shell-Befehl auf dem Zielserver, die die Fehlermeldung erklärt cp: cannot stat ‘/tmp/guru/a*’: No such file or directory: die Quelldateien des cp existiert nicht auf dem Zielserver.

ansible liefern eine lot of modules die besser geeignet sind, zu verwenden, als Shell-Befehle ausführt.

In Ihrem Fall ist die copy module diejenige, die Sie brauchen: es kopiert Dateien von Quellserver zum Zielserver. Sie können es mit einem with_fileglob loop kombinieren:

tasks: 
    - name: Copy bulk files 
    copy: 
     src: "{{ item }}" 
     dest: /ansible/sri 
    with_fileglob: "/tmp/guru/{{ copy }}*" 
+0

wow !! Vielen Dank.. – Srikanth