2016-12-13 146 views
0

這應該工作,但沒有,並給出以下錯誤(下文)。Ansible複製或移動文件只在遠程主機上

我讀過幾個帖子在stackoverflow herehere但似乎並沒有一個好的答案,在這種情況下工作。我真的很希望我失去了一些愚蠢的東西,而且我已經呆了好幾個小時,所以請不要介意我的嘲笑,但我需要發泄。

因爲ansible,2.3.0,不能做只是在遠程主機上覆制/移動/重命名文件這樣簡單的事情,我意味着誰願意這樣做?它也不能作用於全局(*)(例如,當你不知道要執行什麼文件時),2步的方法似乎是移動某些文件的唯一方法(只有在遠程主機)。但即使這樣也行不通。

migrate_rhel2centos.yml

--- 
- hosts: RedHat 
    become: true 
    become_user: root 
    become_method: sudo 
    vars: 
    repo_dir: /etc/yum.repos.d 
    tasks: 
    - name: create directory 
    file: path=/etc/yum.repos.d/bak/ state=directory 

    - name: get repo files 
    shell: "ls {{ repo_dir }}/*.repo" 
    register: repo_list 

- debug: var=repo_list.stdout_lines 

- name: move repo files 
    command: "/bin/mv -f {{ item }} bak" 
    args: 
    chdir: "{{repo_dir}}" 
    with_items: repo_list.stdout_lines 


################################# 

TASK [get repo files]  

********************************************************************** 
changed: [myhost] 

TASK [debug]  
********************************************************************** 
ok: [myhost] => { 
    "repo_list.stdout_lines": [ 
    "/etc/yum.repos.d/centric.repo", 
    "/etc/yum.repos.d/redhat.repo", 
    "/etc/yum.repos.d/rhel-source.repo" 
    ] 
} 

TASK [move repo files] 
******************************************************************* 
failed: [myhost] (item=repo_list.stdout_lines) => {"changed": true, "cmd": ["/bin/mv", "-f", "repo_list.stdout_lines", "bak"], "delta": "0:00:00.001945", "end": "2016-12-13 15:07:14.103823", "failed": true, "item": "repo_list.stdout_lines", "rc": 1, "start": "2016-12-13 15:07:14.101878", "stderr": "/bin/mv: cannot stat `repo_list.stdout_lines': No such file or directory", "stdout": "", "stdout_lines": [], "warnings": []} 
to retry, use: --limit @/home/jimm/.ansible/migrate_rhel2centos.retry 

PLAY RECAP 
******************************** 
myhost : ok=5 changed=1 unreachable=0 failed=1 
+0

歡迎來到Stack Overflow!請查看我們的[SO問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)來幫助你提出一個好問題,從而得到一個很好的答案。 –

回答

0
name: copy files task 
    shell: cp source/path/file destination/path/file 

這解決了與遠程主機上覆制文件我的問題。

相關問題