尝试创建两个目录的符号链接时,Chef链接错误

时间:2014-07-24 01:50:44

标签: chef symlink

我似乎无法让厨师在两个目录之间创建符号链接。我想在两个不同的目录之间创建一个符号链接。 (/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

1 个答案:

答案 0 :(得分:5)

您不能将node[:nginx][:integration][:log_dir]创建为目录,因为它不能是符号链接。

只需删除directory[#{node[:nginx][:integration][:log_dir]}]的声明。