1 回答

TA贡献1784条经验 获得超8个赞
正如模块script文档中所解释的:path中的本地脚本将被传输到远程节点然后执行。
脚本中的任何导入文件都不会,您必须先使用 module 将它们复制到远程copy。
示例(根据需要调整访问模式和路径):
- hosts: "{{ host }}"
gather_facts: yes
become: yes
vars:
ansible_python_interpreter: /usr/bin/python3
tasks:
- name: Create directory
copy:
path: /tmp/python1
state: directory
mode: 0755
- name: Copy scripts
copy:
src: ../python1
dest: /tmp/python1
- name: Connect to MongoDB
script: ../python1/script1.py
args:
chdir: /tmp/python1
executable: python3
然而,通常最好编写 Ansible 模块而不是推送脚本。
您的脚本在本地运行,因为所有需要的导入文件都已存在
没有找到匹配的内容?试试慕课网站内搜索吧
添加回答
举报