模板任务:写入 root 拥有的目录
template task: write to root owned directory
我想将模板生成的文件复制到 /etc/init.d
文件夹。但是 template
任务似乎不支持 sudo 参数。
推荐的处理方法是什么?我应该将它复制到临时目录,然后使用 sudo 移动文件吗?
剧本任务如下所示。 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
我已经测试了以下剧本并且有效。
我的设置:
机器 vm
上的用户 vagrant
被允许使用 sudo
执行无密码命令。
我创建了一个简单的模板并使用以下剧本安装它:
---
- 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
我想将模板生成的文件复制到 /etc/init.d
文件夹。但是 template
任务似乎不支持 sudo 参数。
推荐的处理方法是什么?我应该将它复制到临时目录,然后使用 sudo 移动文件吗?
剧本任务如下所示。 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
我已经测试了以下剧本并且有效。
我的设置:
机器 vm
上的用户 vagrant
被允许使用 sudo
执行无密码命令。
我创建了一个简单的模板并使用以下剧本安装它:
---
- 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