模板任务:写入root拥有的目录

时间:2015-06-10 14:29:03

标签: ansible ansible-playbook

我想将模板生成的文件复制到/etc/init.d文件夹。但是template任务似乎不支持sudo参数。 建议的方法是什么?我应该将它复制到临时目录,然后用sudo移动文件吗?

playbook任务如下所示。 Ansible版本1.8.2

   - name: copy init script
     template: src=template/optimus_api_service.sh dest=/etc/init.d/optimus-api mode=0755 force=yes owner=root group=root

1 个答案:

答案 0 :(得分:0)

我测试了以下的剧本,但它确实有效。

我的设置:

允许机器vagrant上的用户vm使用sudo无密码执行命令。

我创建了一个简单的模板并使用以下playbook安装它:

---
- name: Test template
  hosts: vm
  gather_facts: no
  remote_user: vagrant

  vars:
    bla: blub                # some variable used in the template

  tasks:
    - name:  copy init script
      sudo: yes              # << you have to activate sudo
      sudo_user: root        # << and provide the user
      template: src=template/test.j2 dest=/opt/test mode=0755 force=yes owner=root group=root