ansible执行shell脚本的方法

1. 编写脚本:pb_shell.sh

wfq@ubuntu:~/playbook$ cat pb_shell.sh 
#!bin/sh
echo "today(`date`) is a nice day, since I do some nice demo about ansible and excute very well." > /home/wfq/playbook/pb.log
wfq@ubuntu:~/playbook$

2. 执行ansible命令,将脚本copy到其他几台服务器上

wfq@ubuntu:~/playbook$ ansible asb -m copy -a "src=/home/wfq/playbook/pb_shell.sh dest=/home/wfq/playbook/"
192.168.174.134 | success >> {
  "changed": true, 
  "dest": "/home/wfq/playbook/pb_shell.sh", 
  "gid": 1000, 
  "group": "wfq", 
  "md5sum": "79744ccf5b60c7d020bb261d11516252", 
  "mode": "0664", 
  "owner": "wfq", 
  "size": 135, 
  "src": "/home/wfq/.ansible/tmp/ansible-tmp-1523198762.69-211691352620479/source", 
  "state": "file", 
  "uid": 1000
}

192.168.174.131 | success >> {
  "changed": true, 
  "dest": "/home/wfq/playbook/pb_shell.sh", 
  "gid": 1000, 
  "group": "wfq", 
  "md5sum": "79744ccf5b60c7d020bb261d11516252", 
  "mode": "0664", 
  "owner": "wfq", 
  "size": 135, 
  "src": "/home/wfq/.ansible/tmp/ansible-tmp-1523198762.69-274155692570175/source", 
  "state": "file", 
  "uid": 1000
}

192.168.174.133 | success >> {
  "changed": true, 
  "dest": "/home/wfq/playbook/pb_shell.sh", 
  "gid": 1000, 
  "group": "wfq", 
  "md5sum": "79744ccf5b60c7d020bb261d11516252", 
  "mode": "0664", 
  "owner": "wfq", 
  "size": 135, 
  "src": "/home/wfq/.ansible/tmp/ansible-tmp-1523198764.85-163098225256987/source", 
  "state": "file", 
  "uid": 1000
}

192.168.174.132 | success >> {
  "changed": true, 
  "dest": "/home/wfq/playbook/pb_shell.sh", 
  "gid": 1000, 
  "group": "wfq", 
  "md5sum": "79744ccf5b60c7d020bb261d11516252", 
  "mode": "0664", 
  "owner": "wfq", 
  "size": 135, 
  "src": "/home/wfq/.ansible/tmp/ansible-tmp-1523198764.89-251052794120091/source", 
  "state": "file", 
  "uid": 1000
}

wfq@ubuntu:~/playbook$ 

3. 执行ansible命令,在每天服务器上执行pb_shell.sh脚本

wfq@ubuntu:~/playbook$ ansible asb -m shell  -a "sh /home/wfq/playbook/pb_shell.sh chdir=/home/wfq/playbook"
192.168.174.134 | success | rc=0 >>
192.168.174.131 | success | rc=0 >>
192.168.174.132 | success | rc=0 >>
192.168.174.133 | success | rc=0 >>

4. 比如,在131服务器,查看执行生成的日志:

wfq@ubuntu:~/playbook$ cat pb.log 
today(2018年 04月 08日 星期日 22:46:19 CST) is a nice day, since I do some nice demo about ansible and excute very well.
wfq@ubuntu:~/playbook$ 
wfq@ubuntu:~/playbook$ ls
pb.log  pb_shell.sh
wfq@ubuntu:~/playbook$ 

关于ansible执行shell脚本的方法的文章就介绍至此,更多相关ansible执行shell脚本内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库

什么是 Shell?Shell 是一种应用程序,它提供了一个图形或者文字界面,用户通过这个界面来访问操作系统的内部。Shell 位于用户与系统之间,用来帮助用户与操作系统进行沟通。我们通常所说的 Shell 都指的是文字模式的 Shell。常见的 Shell 有 bash、sh、csh、tcsh、ash 等。