Comment faire pour copier des fichiers entre deux nœuds à l'aide de ansible

J'ai besoin de copier le fichier de forme de machine A machine B alors que mon contrôle de la machine à partir de laquelle je lance tous mes ansible tâches sur la machine C(ordinateur local)

J'ai essayé ce qui suit:

Utiliser la commande scp dans le shell module de ansible

hosts: machine2
user: user2
tasks:
  - name: Copy file from machine1 to machine2 
    shell: scp user1@machine1:/path-of-file/file1 /home/user2/file1

Cette approche va juste sur et sur ne se termine jamais.

utilisation de fetch & copie des modules

hosts: machine1
user: user1
tasks:
  - name: copy file from machine1 to local
    fetch: src=/path-of-file/file1 dest=/path-of-file/file1

hosts: machine2
user: user2
tasks:
  - name: copy file from local to machine2
    copy: src=/path-of-file/file1 dest=/path-of-file/file1

Cette approche me lance une erreur comme suit:

error while accessing the file /Users/<myusername>/.ansible/cp/ansible-ssh-machine2-22-<myusername>, error was: [Errno 102] Operation not supported on socket: u'/Users/<myusername>/.ansible/cp/ansible-ssh-machine2-22-<myusername>'

Toute suggestion serait utile.

  • 1.Cette fonctionnalité est particulièrement pratique pour enregistrer les raccordements au réseau, lorsque le contrôle de la machine pourrait être de plus en plus loin; 2.Devrait être corrigé par github.com/ansible/ansible/pull/16756 jctanner fusionné commettre 0d94d39 en ansible:devel sur Sep 23, 2016
InformationsquelleAutor user3228188 | 2014-08-26