Salt-Stack从salt master复制目录到minion

背景 :我一直在努力build立一个盐环境,并达到了我不仅要分发文件而且还要分发目录的地步。 我发现最明智的方法是将要复制到/srv/salt/path_to_dir放在主服务器上,然后使用cp.get_dir命令将其分发。

我所做的 :为了testing我创build的设置和命令/srv/salt/tmp/foo并在其中放置了两个文件。 然后,当我在salt minion_name cp.get_dir salt://tmp/foo /tmp/foo运行命令salt minion_name cp.get_dir salt://tmp/foo /tmp/foo时,有一行输出结果正好读取minion_name: 有点奇怪,除了仆从的名字,没有任何输出,甚至是错误,但是好的,我去检查仆从,看看是否有什么事情发生。

在minion中它没有出现在/tmp/ ,并且/etc/salt//var/cache/salt/没有新的内容。 我检查了/var/log/salt/minion ,但没有什么,除了我的小时的旧尝试,以弄清楚为什么我不能使用file.copyrecursion设置为true分配文件。

我的问题 :有什么明显的我做错了吗? 根据文件,我发现我所做的工作。 似乎也没有任何错误输出。 我应该尝试使用不同的命令或方法来通过salt来分发来自主人的内容的文件夹吗?

附加信息 :主人和所有的爪牙都是Debian系统。 所安装的版本的盐是salt 2014.1.3 (Hydrogen)在主salt-minion 0.17.5salt-minion 0.17.5salt-minion 2015.5.3对奴才我试过这种方法。

我不知道如何使用模块做到这一点,我尝试了相同的结果,所以可能是一个错误,但是如果你想build立一个sls状态,你可以使用file.recursefunction,它看起来像这样:

作为参考我正在使用:

  • /srv/salt/test1/init.sls作为我的sls文件,
  • test1里面是src目录下的testdir
  • 我们想要复制到的机器上的目标/test

init.sls

 /test: file.recurse: - source: salt://test1/testdir - include_empty: True 

从这一点你可以

 salt '<targetmachine>' state.sls test1