# Deploy config files from files unless instance[:directorIEs].nil? instance[:directorIEs].each do |dir| unless file.directory?("#{dir[:source_dir]}") remote_directory "#{dir[:path]}" do source "#{dir[:source_dir]}" owner "#{config[:owner]}" group "#{config[:group]}" recursive true notifIEs :run,"execute[change permissions]",:immediately notifIEs :restart,"service[#{instance[:name]}]" end end end end
根据规范,remote_directory资源仅将所有者/组权限应用于指定路径中的叶节点,但不应用于创建的中间节点.
我计划在创建路径时通知执行命令并递归地应用权限.如何传递参数(在本例中为#{dir [:path]})以执行如下命令.
execute "change permissions" do command "chown -R #{config[:owner]}:#{config[:group]} #{path}" user "root" action :nothing end解决方法 你没有.将执行资源包含在远程目录资源中:
unless instance[:directorIEs].nil? instance[:directorIEs].each do |dir| unless file.directory?("#{dir[:source_dir]}") path = dir[:path] remote_directory path do source dir[:source_dir] owner config[:owner] group config[:group] recursive true notifIEs :run,"execute[change-permission-#{path}]","service[#{instance[:name]}]" end execute "change-permission-#{path}" do command "chown -R #{config[:owner]}:#{config[:group]} #{path}" user "root" action :nothing end end end end总结
以上是内存溢出为你收集整理的ruby – 在Chef中递归应用所有者/组全部内容,希望文章能够帮你解决ruby – 在Chef中递归应用所有者/组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)