ansible-playbook - script module

使用script模块可以实现,ansible本机到对象节点上执行本机脚本。有点类似copy+shell+删除copy的脚本的这样一个综合的功能。
这样的好处是ansible所在服务器部署脚本就可以了,无需在所有远程的服务器上都部署一份,避免改动脚本时候要在所有远程服务器上都重新部署一遍。
ansible-playbook -i ~/ops/asb/inventory/hosts ~/ops/asb/playbook/test_script.yml
test_script.yml
---
- hosts: "startapache2"
  gather_facts: false
  tasks: 
    - name: "test script module"
      script: /home/wfq/ops/asb/playbook/test_script.sh

注意点是,script模块后面是不需要用sh指令的了,如下面这样就是错误的使用方法script: **sh** /home/wfq/ops/asb/playbook/test_script.sh

另,adhoc命令直接执行script模块,如下

ansible startapache2 -i ~/ops/asb/inventory/hosts -m script -a "/home/wfq/ops/asb/playbook/test_script.sh"

startapache2 这个模块名随意拿了个host组过来做测试了

你可能感兴趣的:(Ansible)