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에 대한 심볼릭 링크

파일: 경로=/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
  • 우분투 14.04

답변1

~에서문서:

소스 코드, 링크할 파일의 경로입니다(state=link에서만 사용 가능). 절대 경로, 상대 경로 및 존재하지 않는 경로가 허용됩니다. 상대 경로는 확장되지 않습니다.

src대신 및 를 사용해야 합니다 . 또한 소스와 대상을 반대로 해야 합니다. 이는 잘못된 방법인 것 같습니다(실제로 연결하려고 한다고 가정). 링크할 경로는 심볼릭 링크가 생성되는 위치입니다.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

관련 정보