src
쉘 글로빙을 사용하여 템플릿 모듈 에 여러 파일을 지정하는 방법입니까 ?
- name: Copy keys
template:
src: "{{ item }}"/RPM-*
dest: /etc/pki/{{ item }}/
loop:
- gf
답변1
Ansible을 사용할 수 있습니다fileglob
찾다가서 이것을 해보세요. 패턴을 모듈 의 매개변수 with_fileglob
에 넣는 대신 다음과 같이 패턴을 매개변수 목록으로 전달할 수 있습니다 .src
template
- hosts: localhost
gather_facts: false
tasks:
- name: Copy keys
template:
src: "{{ item }}"
dest: "./pki/{{ '/'.join(item.split('/')[-2:]) }}"
with_fileglob:
- "gf/RPM-*"
- "xz/RPM-*"
이렇게 하면 파일이 에서 복사 ./pki/gf/RPM-...
됩니다 ./pki/xz/RPM-...
. 이 표현식은 '/'.join(item.split('/')[-2:])
유사한 경로 이름 /some/path/to/gf/RPM-foo
을 가져와서 gf/RPM-foo
.
먼저 대상 디렉터리가 있는지 확인해야 하며, 그러기 전에 디렉터리를 생성하기 위한 별도의 작업을 수행해야 할 수도 있습니다.