鉴于一堆服务器,A..Z,确保这些服务器上的所有/dir/path
目录(这些目录存在的地方)的最佳方法是设置为某个所有者,组和模式?
我可以看到如何为特定角色执行此操作,例如
- name: Add apache vhosts configuration.
template:
src: "vhosts.conf.j2"
dest: "{{ apache_conf_path }}/{{ apache_vhosts_filename }}"
owner: root
group: root
mode: 0644
notify: restart apache
when: apache_create_vhosts
但是你如何在各种服务器上做到这一点?
答案 0 :(得分:0)
http://docs.ansible.com/ansible/latest/file_module.html
- name: Change ownership of the folder
file:
state : directory
recurse : yes
path : "{{ folder }}"
mode : "{{ desired_mode }}"
在要更改的所有系统上执行任务。 显然,将其作为必要的用户运行;如果是root,请确保在需要时指定所有者和组。
请原谅我,如果这看起来有点基础,但有时很明显重申 - http://docs.ansible.com/ansible/latest/intro_inventory.html
要针对服务器列表运行,请将它们放在清单文件中的一个组中,然后将该组上的任务作为主机调用。
主机文件示例:
[targetServers]
host1
host2
# etc
然后在你的main.yml
- name: do the thing
hosts: targetServers
# etc
然后ansible-playbook -i hosts -v main.yml
等等。