এটাই আমি নিয়ে এসেছি:
- 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
সীমাবদ্ধ আউটপুটটি আমাদের সহায়তা করবে (এই পরামর্শটি এখানে পেয়েছেন )।
তবে আমি পূর্ববর্তী সমাধানটি কিছুটা ধীর হতে পেলাম, কারণ এটি সামগ্রীর মাধ্যমে পুনরাবৃত্তি হয়, তাই আমি এগুলি দিয়েছিলাম:
- 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
করতে পারেন।