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

相关内容