그것이 내가 생각해 낸 것입니다.
- name: Get directory listing
find:
path: "{{ directory }}"
file_type: any
hidden: yes
register: directory_content_result
- name: Remove directory content
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ directory_content_result.files }}"
loop_control:
label: "{{ item.path }}"
먼저, find
설정으로 디렉토리 목록을 얻습니다.
file_type
에 any
중첩 된 디렉토리와 링크를 놓치지 않을 것입니다.
hidden
에는 yes
, 그래서 우리는 숨겨진 파일을 생략하지 않는다
- 또한, 설정하지 마십시오
recurse
에 yes
그것을뿐만 아니라 필요하지만, 실행 시간을 증가시킬 수 있기 때문에.
그런 다음 file
모듈을 사용 하여 해당 목록을 살펴 봅니다. 출력은 약간 장황하므로 loop_control.label
출력 제한에 도움이됩니다 (이 조언은 here ).
그러나 이전 솔루션은 내용을 반복하기 때문에 다소 느리다는 것을 알았습니다.
- name: Get directory stats
stat:
path: "{{ directory }}"
register: directory_stat
- name: Delete directory
file:
path: "{{ directory }}"
state: absent
- name: Create directory
file:
path: "{{ directory }}"
state: directory
owner: "{{ directory_stat.stat.pw_name }}"
group: "{{ directory_stat.stat.gr_name }}"
mode: "{{ directory_stat.stat.mode }}"
- 로 디렉토리 속성을 가져옵니다
stat
- 디렉토리 삭제
- 동일한 특성으로 디렉토리를 다시 작성하십시오.
그것으로 충분했지만 원한다면 추가 할 수도 있습니다 attributes
.