chef-infra - 尝试创建两个目录的符号链接(symbolic link)时 Chef 链接错误

标签 chef-infra symlink

我似乎无法让 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/

相关文章:

chef-infra - 如何查看节点上安装的软件包版本?

chef-infra - 我应该使用 include_recipe 还是将配方添加到 run_list 中?

ruby - Chef 从源安装和更新程序

linux - 符号链接(symbolic link)检查 - Linux Bash 脚本

在目录中查找符号链接(symbolic link)

chef-infra - 可以在 Inspec 中使用 Chef 变量吗?

mysql chef 数据库配方在大文件上失败

php - 符号链接(symbolic link)破坏 CodeIgniter 上传库

php - 使用符号链接(symbolic link)在 PHP 代码中使用新文件夹

c++ - 查找符号链接(symbolic link)指向的位置 (Windows)