基本 Salt File 服务器命令不起作用

基本 Salt File 服务器命令不起作用

salt-master-2014.1.10-4.el6.noarch我有一个 salt master 和一个 salt minion,ID 为 saltMinion2。我在 master 和minion 上安装了 rpm,salt-minion-2014.1.10-4.el6.noarch两台机器都是 CentOS6.5。Master 能够test.pingminion,所以设置可能有效。我在 master 上运行以下命令:

salt saltMinion2  cp.get_file  salt://etc/hosts  /minion

我期望 master 上的文件 /etc/hosts 出现在 minion 上的目录 /minion 中。该文件存在于 master 中,目录存在于 minion 中。在调试模式下运行,我在 master 和 minion 中都收到调试和信息消息,但没有错误,并且似乎命令在 master 上成功执行。在命令完成 minion 日志记录后,minion 目录 /minion 仍为空

Returning information for job:<some number>

我在这里做错了什么?

答案1

正如您在评论中指出的那样,该文件必须存在于 salt 主文件服务器中(使用协议指定salt://)。您不能将源文件指定为文件系统路径:

$ sudo salt minion-id cp.get_file /etc/hosts /tmp
minion-id:
    Traceback (most recent call last):
      File "/usr/lib/pymodules/python2.7/salt/minion.py", line 722, in _thread_return
        return_data = func(*args, **kwargs)
      File "/usr/lib/pymodules/python2.7/salt/modules/cp.py", line 150, in get_file
        gzip)
      File "/usr/lib/pymodules/python2.7/salt/fileclient.py", line 692, in get_file
        path = self._check_proto(path)
      File "/usr/lib/pymodules/python2.7/salt/fileclient.py", line 58, in _check_proto
        raise MinionError('Unsupported path: {0}'.format(path))
    MinionError: Unsupported path: /etc/hosts

就你的情况来说,/srv/salt/etc/hosts不存在。

相关内容