我想将文件从盐栈主服务器复制到小服务器。我从https://stackoverflow.com/questions/27687886/copy-a-file-from-salt-master-to-minions找到了一个脚本。但我得到了一个错误。
copy_my_files:
file.recurse:
- source: salt://srv/salt/nginx.conf
- target: /etc/nginx
- makedirs: True
错误:-
ID: copy_my_files
Function: file.recurse
Result: False
Comment: Specified file copy_my_files is not an absolute path
Started: 09:46:24.850682
Duration: 1.473 ms
Changes:
我已经为两者提供了正确的路径。
要简单地复制文件,而不是作为状态的一部分,请使用
salt-cp
.源可以是主服务器上的任何文件。它不需要在 salt 文件服务器中。
如果我是正确的,file.recurse 用于复制目录的内容。在这里,只复制一个文件所要做的就是使用file.managed。
例如重用您的示例,这应该有效:
请注意,您要复制的 nginx.conf 文件必须位于 salt master 上的 /srv/salt 中。那是 salt:// 指向的默认位置(除非您修改了配置)
如果您想使用file.recurse复制多个文件,这也很容易