我有一个像这样的文件夹结构:
/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
我如何构建守卫以实现我的目标?
答案 0 :(得分:0)
这不是目录资源可以做的事情。 Guard子句控制整个资源是否激活或不激活,它们在融合期间不是行项目否决。您需要创建自定义资源,或者只使用execute "find #{node['conf-cookbook']['app_dir']} -somefilter -delete"
这样的内容,而不必关心它不是幂等的。