如何将所有以.txt结尾的文件从Cookbook复制到Chef上的节点?

问题描述

我有一本厨师食谱,在我的/ files / default文件夹中有一堆以“ .txt”结尾的文件。 如何在厨师食谱中添加一种方法,将所有以“ .txt”结尾的文件文件目录移动到节点上的特定目录?

这是我所拥有的:

DEBU[0000] Returning credentials from /run/containers/0/auth.json
DEBU[0000] Looking for TLS certificates and private keys in 
/etc/docker/certs.d/satellite.xyz.com:5000
DEBU[0000] Loading registries configuration "/etc/containers/registries.conf"
DEBU[0000] trying to talk to v1 search endpoint
DEBU[0000] GET https://satellite.xyz.com:5000/v2/
DEBU[0000] Ping https://satellite.xyz:5000/v2/ status 200
DEBU[0000] GET https://satellite.xyz.com:5000/v1/search?n=25&q=containers-redhat
DEBU[0000] error getting search results from v1 endpoint "satellite.xyz.com:5000": invalid status 
code from registry 404 (Not Found)
DEBU[0000] trying to talk to v2 search endpoint
DEBU[0000] GET https://satellite.xyz.com:5000/v2/_catalog
ERRO[0000] error getting search results from v2 endpoint "satellite.xyz.com:5000": invalid status 
code from registry 404 (Not Found)

解决方法

source资源的remote_directory属性在食谱的files/default中使用目录名称,而不是文件。

因此,您应该将*.txt文件移动到files/default/info。示例内容:

file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
file6.txt

然后在您的配方中指定info文件所在的*.txt目录:

remote_directory '/opt/info' do
  source 'info'
  owner 'root'
  group 'root'
  mode '0640'
end

这会将所有文件从食谱的files/default/info复制到节点上的/opt/info