这应该有效,但没有,并给出以下错误(如下)。
我在这里和这里阅读了几篇关于 stackoverflow 的帖子,但在这种情况下似乎没有一个好的答案。我真的希望我只是错过了一些愚蠢的东西,我已经在这里呆了几个小时了,所以请不要介意我的咆哮,但我需要发泄一下。
由于 ansible 2.3.0 无法仅在远程主机上执行复制/移动/重命名文件这样简单的操作,我的意思是谁会想要这样做?而且它也不能作用于 globs (*)(比如当你不知道要作用于哪些文件时),两步方法似乎是(我知道的)移动某些文件的唯一方法(仅在远程主机)。但即使这样也行不通。
---
- 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: …Run Code Online (Sandbox Code Playgroud)