我想知道是否有资源可以复制整个目录。我知道我总是可以使用bash资源,只做一个"cp",但我想知道是否有类似于目录的"file"资源。
bash资源解决方案
bash "backup org folder" do
code <<-EOL
mkdir /opt/tmp/copy
mv /opt/tmp/org/* /opt/tmp/copy
EOL
end
我发现了这个:如何与Chef在本地移动/复制文件但是已经2岁了,所以我想知道这个案子是否有新的资源。
谢谢。
据我所知,没有其他方法。要么你必须像你所做的那样使用bash资源,要么通过Ruby块
我找到的唯一方法是使用bash资源,但有一些事情需要小心。
bash "backup testDir directory" do
user "jhon"
cwd "/opt/lnp"
environment ({'HOME' => '/home/jhon', 'USER' => 'jhon'})
code <<-EOL
{
mv /opt/lnp/testDir/* /opt/lnp/testDir.#{TODAY}
}
EOL
not_if { Dir['/opt/lnp/testDir/*'].empty? }
end
- 如果您需要以特定用户的身份进行复制,则需要初始化环境
- 如果文件夹为空,为了避免出现错误,您应该通过notif块检查目录是否为空