背景:我一直致力于设置盐环境,并且达到了不仅要分发文件而且要分发目录的地步。我发现最明智的方法是将我想要复制的目录/srv/salt/path_to_dir
放在主服务器上,然后使用cp.get_dir命令分发它。
我所做的:为了测试我创建的设置和命令,/srv/salt/tmp/foo
并在其中放置了两个文件。然后当我salt minion_name cp.get_dir salt://tmp/foo /tmp/foo
在主服务器上运行命令时,有一行输出正好读取minion_name:
. 有点奇怪,除了minion 名称之外没有任何输出,甚至错误,但是好吧,我去检查minion 看看是否发生了任何事情。
在仆从还没有出现/tmp/
,并且在没有新的内容/etc/salt/
或/var/cache/salt/
任。我登记了/var/log/salt/minion
,但除了我一小时前试图找出为什么我不能使用file.copy
递归设置为 true 来分发文件之外,什么也没有。
我的问题:有什么明显的我做错了吗?根据文档,我发现我所做的应该有效。似乎也没有任何错误输出。我应该尝试使用不同的命令或方法来通过 salt 分发包含来自 master 的内容的文件夹吗?
附加信息:master 和所有minions 都是Debian 系统。盐的已安装的版本是salt 2014.1.3 (Hydrogen)
在主及salt-minion 0.17.5
和salt-minion 2015.5.3
对爪牙我曾尝试这种方法。
我不确定如何使用模块来做到这一点,我尝试了与您相同的模块并得到了相同的结果,所以可能是一个错误,但是如果您想设置 sls 状态,您可以使用 file.recurse 功能,它看起来像这样:
作为我使用的参考:
/srv/salt/test1/init.sls
作为我的 sls 文件,test1
是src目录testdir
/test
init.sls
/test:
file.recurse:
- source: salt://test1/testdir
- include_empty: True
Run Code Online (Sandbox Code Playgroud)
从那时起你可以
salt '<targetmachine>' state.sls test1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9435 次 |
最近记录: |