সল্ট স্টেট ফাইলের সাথে ক্লিয়ার ডিরেক্টরি


11

রাষ্ট্রীয় ফাইল ব্যবহার করে আমি কীভাবে লবণ-মিনিয়নে একটি ডিরেক্টরি সাফ করব? অন্যান্য সুপারভাইজার পরিষেবা সেট আপ করার আগে আমি সমস্ত *.confফাইল মুছতে চাই /etc/supervisord/conf.d/

নিম্নলিখিত top.slsকনফিগারেশনের কোনও প্রভাব নেই:

/etc/supervisor/conf.d/*:
  file.absent

file.remove অনুপলব্ধ হিসাবে ব্যর্থ।

উত্তর:


10

আপনার মত একই সমস্যা ছিল। এটাই আমার পক্ষে কাজ করেছে।

remove-supervisord-confd:
   file.directory:
      - name: /etc/supervisord/conf.d/           
      - clean: True

4

একটি নিখুঁত উত্তর নয়, তবে আপনি ডিরেক্টরিতে ফাইল.অবসেন্ট ব্যবহার করতে পারেন, তারপরে এটি পুনরায় তৈরি করুন। নোট করুন যে প্রতিবার রাষ্ট্র পরিচালিত হওয়ার সাথে সাথে এটি মুছে ফেলা হবে। আপনি নীচের চারপাশে একটি জিনজা শর্তসাপেক্ষে অভিনব পেতে পারেন:

supervisor-conf-delete:
  file.absent:
    - name: /etc/supervisord/conf.d

supervisor-conf-create:
  file.directory:
    - name: /etc/supervisord/conf.d
    - user: root
    - group: root
    - mode: 0755
    - require:
        - file: supervisor-conf-delete

1

আপনি লবনের রাজ্যে সেন্টিমিডি মডিউলটি ব্যবহার করতে পারেন। নিম্নলিখিত কোডটি আপনার রাষ্ট্রের ফাইলে উপস্থিত থাকতে পারে:

rm -f /etc/supervisord/conf.d/*.conf:
    cmd.run

আপনি ইচ্ছা করলে আরও জটিল কমান্ডও লিখতে পারেন।


ধন্যবাদ, এটি এটি করবে তবে এটি খুব রাষ্ট্রীয় বোধ করে না। কোন ধারণা কেন ফাইল.অবসেন্ট কাজ করবে না? সম্ভবত এটি ওয়াইল্ডকার্ড বুঝতে পারে না। বা সম্ভবত directoryঅনুপস্থিত ফাংশন সহ একটি মডিউল আরও উপযুক্ত হবে?
পেট্রাস থেরন

আমি দেখতে পাচ্ছি না যে "ডিরেক্টরি.অবসেন্ট" কীভাবে কমান্ড রান চালানোর চেয়ে রাষ্ট্রীয় হবে states আপনার যদি কোনও রাজ্যের প্রয়োজন হয়, কেবল আপনার শেল স্ক্রিপ্টে এটি প্রয়োজনীয় হিসাবে কেবল পরিচয় করিয়ে দিন: ডকসস.সালটসটেক
en
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.