厨师:如何递归删除所有文件,同时保持某些文件
问题描述:
我有一个文件夹结构是这样的:厨师:如何递归删除所有文件,同时保持某些文件
/app
/uploads
1.pdf
2.pdf
/2015
/2016
/2017
......
/requirements
/tests
manage.py
......
我用递归删除app
字典。现在我想保留所有折叠和文件在uploads
,例如。 /2015
,/2016
,/2016/oct.pdf
。此外,删除1.pdf
和2.pdf
。
# remove the code folder if exists
directory node['conf-cookbook']['app_dir'] do
recursive true
action :delete
only_if { ::File.directory?("#{ PATH }") }
end
我该如何构建卫兵来实现我的目标?
答
这不是目录资源可以做的事情。 Guard条款控制整个资源是激活还是不激活,它们在会聚期间不是排队项否决权。您需要制作自定义资源,或者只是使用类似execute "find #{node['conf-cookbook']['app_dir']} -somefilter -delete"
的东西,而不在意它不是幂等的。