2016-03-30 19 views
1

Yenilemek için yeni ve bir dosyayı bir dizinden ansible kullanarak uzak bir RH makinesindeki başka bir dizine kopyalamaya çalışıyorum.Ansible playbook copy failed - msg: src'yi bulamadı

--- 
- hosts: all 
    user: root 
    sudo: yes 
    tasks: 

    - name: touch 
    file: path=/home/user/test1.txt state=touch 

    - name: file 
    file: path=/home/user/test1.txt mode=777 

    - name: copy 
    copy: src=/home/user/test1.txt dest=/home/user/Desktop/test1.txt 

Ama

[[email protected] ansible]# ansible-playbook a.yml -i hosts 
SSH password: 

PLAY [all] ******************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [auto-0000000190] 

TASK: [touch] ***************************************************************** 
changed: [auto-0000000190] 

TASK: [file] ****************************************************************** 
ok: [auto-0000000190] 

TASK: [copy] ****************************************************************** 
failed: [auto-0000000190] => {"failed": true} 
msg: could not find src=/home/user/test1.txt 

FATAL: all hosts have already failed -- aborting 

PLAY RECAP ******************************************************************** 
      to retry, use: --limit @/root/a.retry 

auto-0000000190   : ok=3 changed=1 unreachable=0 failed=1 

[[email protected] ansible]# 

dosya dizinde yarattı ve dosya ve dizin her iki izinleri 777.

aynı hata mesajı alıyorum var aşağıdaki gibi hata atıyor Ben zaten varolan dosyayı ansible kullanarak kopyalamaya çalışırsam.

Kök olmayan kullanıcı olarak da denedim, ancak başarılı olmadım. peşin

Çok teşekkürler,

Melek

+0

Şimdi "Kopyalama modülü, yerel kutudaki bir dosyayı uzak konumlara kopyalar." Uzak bir makinede bir konumdan başka bir konuma bir dosya kopyalayacak bekliyordum. Kopyala komutu, yerel makinedeki dosyaya bakar ve benim durumumda orada değildir. Bu yüzden gördüğüm hata mesajı mantıklı. – Angel

cevap

1

Eğer böyle, remote_src kullanabilirsiniz> = 2.0 yanıtlayıcı 'varsa:

--- 
- hosts: all 
    user: root 
    sudo: yes 
    tasks: 

    - name: touch 
    file: path=/home/user/test1.txt state=touch 

    - name: file 
    file: path=/home/user/test1.txt mode=777 

    - name: copy 
    copy: src=/home/user/test1.txt dest=/home/user/Desktop/test1.txt remote_src=yes 

Böylece iç içe kopya desteklemez.

0

Hazırlanabilir sürümünüz nedir? Ansible'ın yeni sürümü ne istediğinizi destekliyor. Anlaşılabilirliği yükseltemiyorsanız, basit dosya kopyalama için cp komutunu deneyin. cp -r yinelemeli olarak kopyalar.

- name: copy 
    shell: cp /home/user/test1.txt /home/user/Desktop/test1.txt