用厨师资源备份目录?
backup a directory with a chef resource?
我想知道是否有资源可以制作整个目录的副本。我知道我总是可以使用 bash 资源并只执行 'cp',但我想知道是否有目录的 'file' 资源的类似物。
bash资源解
bash "backup org folder" do
code <<-EOL
mkdir /opt/tmp/copy
mv /opt/tmp/org/* /opt/tmp/copy
EOL
end
我发现了这个:How to move/copy files locally with 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
- 如果您需要以特定用户身份进行复制,您需要初始化环境
- 为了避免文件夹为空时出现错误,您应该通过 not_if 块
检查目录是否为空
我想知道是否有资源可以制作整个目录的副本。我知道我总是可以使用 bash 资源并只执行 'cp',但我想知道是否有目录的 'file' 资源的类似物。
bash资源解
bash "backup org folder" do
code <<-EOL
mkdir /opt/tmp/copy
mv /opt/tmp/org/* /opt/tmp/copy
EOL
end
我发现了这个:How to move/copy files locally with 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
- 如果您需要以特定用户身份进行复制,您需要初始化环境
- 为了避免文件夹为空时出现错误,您应该通过 not_if 块 检查目录是否为空