Salt State Dosyası ile Dizini Temizle


11

Bir durum dosyası kullanarak tuz minyonundaki bir dizini nasıl silebilirim? Diğer gözetim hizmetlerini kurmadan önce *.confiçindeki tüm dosyaları silmek istiyorum /etc/supervisord/conf.d/.

Aşağıdaki top.slsyapılandırmanın bir etkisi yoktur:

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

file.remove kullanılamıyor olarak başarısız oluyor.

Yanıtlar:


10

Seninle aynı sorun vardı. Bu benim için işe yaradı.

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

4

Mükemmel bir cevap değil, ancak dizinde file.absent'i kullanabilir ve yeniden oluşturabilirsiniz. Durum her çalıştırıldığında bunun silineceğini unutmayın. Aşağıdakileri çevreleyen bir jinja koşuluyla süslenebilir:

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

Cmd modülünü tuz durumlarında kullanabilirsiniz. Durum dosyanızda aşağıdaki kod bulunabilir:

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

İsterseniz daha karmaşık komutlar da yazabilirsiniz.


Teşekkürler, bu yapardı, ama çok durumlu hissetmiyor. File.absent'ın neden işe yaramayacağına dair bir fikrin var mı? Belki joker karakterleri anlamıyor. Ya da belki directoryişlevi olmayan bir modül daha uygun olur?
Petrus Theron

"Directory.absent" ifadesinin artık durumları olan bir komut çalıştırmasından daha durumlu olacağını görmüyorum. Bir durumunuz olması gerekiyorsa, bunları kabuk komut dosyanızda gerektiği gibi tanıtın
noamik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.