ansible 符號連結的正確語法

ansible 符號連結的正確語法

使用 ansible 建立符號連結的正確語法是什麼? 我正在創建一個 Vagrant 虛擬環境並運行 ansible 作為我的配置程式。一切工作正常,直到我嘗試從啟用網站的符號連結到我的網站 nginx 設定檔。這是我嘗試過的。

- name: Create symlink to example.com
  file: 
    path: /etc/nginx/sites-enabled/example.com 
    dest: /etc/nginx/sites-available/example.com 
    state: link
  notify: nginx reload

當我這樣做時,我遇到了以下錯誤。

錯誤:載入 YAML 腳本時出現語法錯誤,/Users/username/project/ansible/roles/nginx/tasks/main.yml

注意:錯誤實際上可能出現在這個位置之前:第24行,第1列

- 名稱:example.dev.conf 的符號鏈接

檔案:path=/etc/nginx/sites-enabled/example.dev.conf

狀態=連結

^ Ansible 未能成功完成。任何錯誤輸出都應該在上面可見。請修復這些錯誤並重試。

我也嘗試過使用src=/etc/nginx/sites-enabled代替,path但我似乎無法在網路上找到明確的範例。

眼鏡:

  • OSX小牛隊
  • 流浪者1.6.3
  • 虛擬盒4.3
  • nginx 1.6.0
  • 安塞波1.6.2
  • ubuntu 14.04

答案1

文件:

原始碼,要連結到的文件的路徑(僅適用於 state=link)。將接受絕對路徑、相對路徑和不存在的路徑。相對路徑不展開。

使用時需要使用srcand ,而不是。您還需要反轉來源和目標,這似乎是錯誤的方式(假設您確實想連結到from ) -是連結到的路徑,是建立符號連結的位置。deststate=linkpathsites-availablesites-enabledsrcdest

- name: Create symlink to example.com
  file: src=/etc/nginx/sites-available/example.com dest=/etc/nginx/sites-enabled/example.com state=link
  notify: nginx reload

相關內容