ruby - 使用 Chef 删除部分但不是全部子目录

标签 ruby chef-infra

我需要使用我的 Recipe 删除父目录中的几个子目录,但我需要保留许多其他子目录。有没有一种编程方式可以实现某些子目录的删除,或者我是否必须像这样手动指定我希望删除的每个子目录;

directory "/var/lib/foo" do
  action :delete
end

最佳答案

您可以只使用正则表达式指定所需的模式,然后删除与该模式匹配的所有(子)目录。

类似的东西:

Dir["/main/{sub1,sub2,sub3}"].each do |dir|
  file ::File.expand_path(dir) do
    action :delete
  end
end

有关如何使用 Dir 匹配所需文件的更多信息,请参阅 Ruby docs on Dir .

This related SO question也可能有用。

关于ruby - 使用 Chef 删除部分但不是全部子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302912/

相关文章:

chef-infra - 如何使用 apache2 chef cookbook 安装 apache2?

chef-infra - Chef - ServerSpec - 访问节点属性

docker - 我们如何使用 Chef Recipe 登录到 docker hub(私有(private)注册表)?

linux - 使用 Chef 在 LDAP 中具有相同 ID 的多个组

ruby - 递归地深入 Nokogiri 树

ruby-on-rails - 更新属性而不改变 updated_at 字段

ruby-on-rails - 无法加载此类文件 -- google/apis/compute_v1,使用服务帐户创建(服务器到服务器)Google 日历事件。使用 rails

ruby-on-rails - Active Record 语法解释 - 初学者

chef-infra - 为不同的服务器组织 Chef Recipe

ios - Ruby Motion 如何更改后退按钮的默认颜色?