2015-06-10 45 views
1

我想將模板生成的文件複製到/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 
+0

您可以發佈您的劇本?你使用什麼版本的軟件? –

+0

@SebastianStigler我已經更新了OP –

+0

所有的任務都支持'sudo'。我在很多情況下都是用'template'來使用它。我懷疑這是原因,但你可以將Ansible更新到最新版本(1.9.1) – udondan

回答

0

我已經測試了以下劇本和它的作品。

我的設置:

機器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 
+0

是/ root/root擁有的/ opt/test嗎? –

+0

@ mig-foxbat:是的 –