我似乎无法让 chef 在两个目录之间创建符号链接(symbolic link)。我想在两个不同的目录之间创建符号链接(symbolic link)。 (/var/log/nginx
到 /data/logs/nginx
)。
directory node[:nginx][:log_dir] do
owner 'root'
mode 00777
action :create
end
directory node[:nginx][:integration][:log_dir] do
owner 'root'
mode 00777
action :create
end
link node[:nginx][:integration][:log_dir] do
to node[:nginx][:log_dir]
end
出现以下错误
Errno::EISDIR
Is a directory - var/log/nginx
link("var/log/nginx") do
provider Chef::Provider::Link
action :create
retries 0
retry_delay 2
guard_interpreter :default
to "/data/logs/nginx/"
link_type :symbolic
target_file "var/log/nginx"
cookbook_name :nginx_integration
recipe_name "default"
end
最佳答案
您不能将 node[:nginx][:integration][:log_dir]
创建为目录,因为那样它就不能成为符号链接(symbolic link)。
只需删除directory[#{node[:nginx][:integration][:log_dir]}]
的声明。
关于chef-infra - 尝试创建两个目录的符号链接(symbolic link)时 Chef 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923872/