使用Chef删除x天以前目录中的所有文件

nit*_*nny 3 ruby chef-infra

我尝试删除日志文件:

log 'remove compressed log files'
::Dir['/var/log/*.gz'].each { |f| ::FileUtils.rm_rf(f) }
Run Code Online (Sandbox Code Playgroud)

我的要求是根据mtime删除它们.

cod*_*ger 5

这只是简单的Ruby代码,而不是Chef recipe DSL.更多的厨师方法是这样做的

Dir['/var/log/*.gz'].each do |path|
  file path do
    action :delete
    only_if { ::File.stat(path).ctime < (Time.now - 60*60*24*7) }
  end
end
Run Code Online (Sandbox Code Playgroud)