我有一个 ansible 1.1 剧本,我在其中做这样的事情:
- name: copy files
sudo: True
shell: cp /from/* /to/
- name: change owner
sudo: True
file: path=$item owner=newuser group=newgroup
with_fileglob: /to/*
Run Code Online (Sandbox Code Playgroud)
第二个任务“更改所有者”总是在跳过。谁能帮我找出原因?文件模块是否因为文件存在而跳过?我被卡住了:)
Tom*_*Aac 16
从文档:
记住查找插件是在“控制”机器上运行的:
with_fileglob
是一个查找插件,因此它在本地服务器上查找文件,您正在运行 ansible-playbook 的那个。
您可以执行以下操作:
- name: list files
action: command ls -1 /to/*
register: dumpfiles
- name: change ownership
action: file path=$item owner=newuser group=newgroup
with_items: ${dumpfiles.stdout_lines}
Run Code Online (Sandbox Code Playgroud)
小智 5
Ansible 1.1 将 recurse 参数添加到文件模块中,因此您需要为更改所有权任务执行以下操作:
- name: change ownership
action: file state=directory recurse=yes path=/to/ owner=newuser group=newgroup
Run Code Online (Sandbox Code Playgroud)
当实际情况发生变化时,这将使其更加明显;使用 shell 或命令模块将始终返回已更改的状态,即使实际上没有任何更改。
归档时间: |
|
查看次数: |
15786 次 |
最近记录: |