Regex innerhalb der Puppet-Dateiressource verwenden

Regex innerhalb der Puppet-Dateiressource verwenden

Ich möchte eine Datei mithilfe der Dateiressource löschen. Der Dateiname lautet AA_BB_CC_11.22.33.7z. Das Problem ist, dass die Dateiressource keine regulären Ausdrücke unterstützt und die Zahlen darin geändert werden können. Ich verwende eine Variable in meinem Manifest, um den Dateinamen als $app=AA_BB_CC_*.7z zu speichern.

Die Exec-Ressource kann die Datei vom zentralen Server herunterladen, aber die Dateiressource kann sie nicht löschen. Ich habe eine andere Ressource entdeckt, die Dateien löscht, aber diese Ressource wird vor anderen Ressourcen ausgeführt, obwohl ich die Ressourcenreihenfolge angegeben habe. Wie kann ich dies implementieren, um diese Datei zu löschen?

Antwort1

Nehmen wir an, Sie können einefindenBefehl, um alle Dateien aufzulisten, die Sie löschen möchten.
Nehmen wir außerdem an, dass Ihr Puppet-Modul weißWannlöschen Sie diese Dateien.
Unix:
exec { 'delete_files': command => "/bin/find [your find command arguments here] -delete", } Einige Suchbefehle haben kein -delete, das wäre also
"/bin/find [your find command arguments here] -exec rm -f {} \;"
Windows: Es ist schon seeehr lange her, dass ich Windows benutzt habe, eine CMD könnte so aussehen:
dir [path] [file_wildcard] | find "[string of correct characters]"
Ich kann mich nicht erinnern, wie ich diese Ausgabe an den ERASE-Befehl sende. Powershell wurde erfunden, nachdem ich Windows beendet habe, also könnte das eine Möglichkeit sein.

verwandte Informationen