厨师的“mv”资源

时间:2016-08-23 16:04:22

标签: chef

执行以下配方时,我收到错误消息。我的要求是,只有当文件夹在源中可用时,我才需要将某些文件夹(log,tmp)从源“移动”到其他位置,如果不是不需要移动并成功执行我的资源。无论何时第一次使用源文件夹(log,tmp)执行以下资源,它都会成功执行,但是第二次运行相同的资源时会抛出错误消息,因为源中没有文件夹(log,tmp)。我需要成功执行甚至文件夹(log tmp)在源中不存在。你可以根据这个要求分享你的吗?

以下是我的资源:

execute "move files" do
command "mv #{node["source"]}/log tmp #{node["dest"]}"
cwd node["direct"]
only_if do File.exist?(node['source']) end
end

错误讯息:

mv:不能统计âlogâ:没有这样的文件或目录

mv:不能统计âtmpâ:没有这样的文件或目录

1 个答案:

答案 0 :(得分:0)

移动文件不是一般意义上的收敛操作,因此不建议这样做。更好的方法是使用link资源创建符号链接,或者只使用它们应该已经存在的格式部署内容(但可能需要在构建方面进行更改)。