脚本文件未使用 ansible 脚本模块在目标机器上执行

脚本文件未使用 ansible 脚本模块在目标机器上执行

脚本文件未使用 ansible 脚本模块在目标机器上执行。

我已经在控制节点上编写了一个脚本文件,希望将其复制到目标机器上,然后从那里使用 ansible 脚本模块运行该脚本文件。

playbook:
---
- name: execute script file on target
  hosts: all
  tasks:
    - name: copy script file
      copy:
        src: /home/ansibleuser/practice-ansible/pre-check.sh
        dest: /home/ansibleuser/
        mode: 0777
    - name: execute the script on destination servers
      script:
        cmd: /home/ansibleuser/pre-check.sh
      args:
       removes: /home/ansibleuser/pre-check.sh
      register: output
Error:
"changed": false,
    "msg": "Could not find or access '/home/ansibleuser/pre-check.sh' on the Ansible Controller.
If you are using a module and expect the file to exist on the remote, see the remote_src option"

答案1

错误信息看起来非常清楚。script模块其工作原理是首先 (a) 将提到的脚本从控制主机(您的本地系统)复制到远程系统,然后 (b) 运行它。

你不需要你的copy任务。你只需要修复模块中的路径script

- name: execute script file on target
  hosts: all
  tasks:
    - name: execute the script on destination servers
      script:
        cmd: /home/ansibleuser/practice-ansible/pre-check.sh
      register: output

相关内容