
ファイル リソースを使用してファイルを削除したいです。ファイル名は AA_BB_CC_11.22.33.7z です。問題は、ファイル リソースが正規表現をサポートしておらず、その中の数字が変更される可能性があることです。マニフェスト内の変数を使用して、ファイル名を $app=AA_BB_CC_*.7z として保存しています。
exec リソースは中央サーバーからファイルをダウンロードできますが、ファイル リソースはそれを削除できません。ファイルを削除するための別のリソース tidy を知りましたが、リソース シーケンスを指定した場合でも、そのリソースは他のリソースの前に実行されます。このファイルを削除するためにこれを実装するにはどうすればよいですか?
答え1
次のように書けると仮定しましょう。探す削除したいファイルをすべてリストするコマンドです。
また、Puppetモジュールがいつこれらのファイルを削除してください。
Unix:
exec { 'delete_files': command => "/bin/find [your find command arguments here] -delete", }
一部の find コマンドには -delete がないので、
"/bin/find [your find command arguments here] -exec rm -f {} \;"
Windows では次のようにします。 Windows を操作してから長い時間が経ちましたが、CMD は次のようになります。
dir [path] [file_wildcard] | find "[string of correct characters]"
この出力を ERASE コマンドに送信する方法を思い出せません。 Windows を終了した後に Powershell が開発されたので、方法があるかもしれません。