作业中心-快捷命令无法使用python批量下发配置

想用python测试执行交换机命令,出现如图报错

错误日志可以文本形式发出来下吗

看起来似乎是权限问题

TEST-A-2.105 | UNREACHABLE! => {
“changed”: false,
“msg”: “Failed to create temporary directory. In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in "/tmp", for more error information use -vvv. Failed command was: ( umask 77 && mkdir -p "echo % Unrecognized command found at '^' position./.ansible/tmp"&& mkdir "echo % Unrecognized command found at '^' position./.ansible/tmp/ansible-tmp-1709205985.09346-115706-270047491719764" && echo ansible-tmp-1709205985.09346-115706-270047491719764="echo % Unrecognized command found at '^' position./.ansible/tmp/ansible-tmp-1709205985.09346-115706-270047491719764" ), exited with result 1, stdout output: <TEST-A-2.105>/bin/sh -c ‘( umask 77 && mkdir -p "echo % Unrecognized command found at '\"'\"'^'\"'\"' position./.ansible/tmp"&& mkdir "echo % Unrecognized command found at '\"'\"'^'\"'\"' position./.ansible/tmp/ansible-tmp-1709205985.09346-115706-270047491719764" && echo ansible-tmp-1709205985.09346-115706-270047491719764="echo % Unrecognized command found at '\"'\"'^'\"'\"' position./.ansible/tmp/ansible-tmp-1709205985.09346-115706-270047491719764" ) && sleep 0’\r\r\n ^\r\r\n % Unrecognized command found at ‘^’ position.\r\r\n”,
“unreachable”: true
}

需要检查目标主机上的权限设置,确保执行 Ansible 任务的用户有足够的权限在目标目录下创建临时文件夹。

这段错误日志看起来是由Ansible执行任务时出现的问题。让我们逐步分析:

  1. 首先,错误消息中显示了一条提醒,指出无法创建临时目录。这可能是由于目标目录权限不足或其他权限相关问题导致的。
  2. 错误消息还提到了一个建议,建议将Ansible配置文件中的远程临时路径更改为根目录下的 “/tmp” 路径。这可以通过编辑 Ansible 的配置文件 ansible.cfg 来实现。
  3. 然后,错误消息展示了一个失败的命令,似乎是由Ansible执行的命令。该命令尝试使用 umask 和 mkdir 命令来创建临时目录,但是因为命令中存在一个无法识别的字符 “^” 导致命令执行失败。
  4. 最后,错误消息中的一部分输出了命令的 stdout,显示了一系列命令,但其中包含了多个 “echo” 命令和奇怪的字符串,这可能是由于命令拼接时出现了错误。

综合来看,造成错误的原因可能有以下几点:

  • 目标主机上的权限问题,导致无法创建临时目录。
  • Ansible 执行的命令中包含了无法识别的字符 “^”,这可能是由于命令拼接时出现了错误。
  • Ansible 的配置可能需要调整,将远程临时路径更改为一个更适合的路径,如 “/tmp”。

你可以尝试按照错误消息中提供的建议进行操作,检查目标主机上的权限设置,编辑 Ansible 的配置文件,并检查 Ansible 任务的执行命令,以解决这个问题。

找不到ansible的配置文件 :sob:

你先检查下是否权限问题

检查一下执行任务的用户的权限