码迷,mamicode.com
首页 > 其他好文 > 详细

ansible模块script

时间:2020-09-11 16:06:26      阅读:41      评论:0      收藏:0      [点我收藏+]

标签:参考   了解   shell   bash   root   执行   模块   chdir   share   

script

script模块可以帮助我们在远程主机上执行ansible主机上的脚本,也就是说,脚本一直存在于ansible主机本地,不需要手动拷贝到远程主机后再执行。

学习此模块之前,请先参考本文中的command模块。

此处我们介绍一些script模块的常用参数,你可以先对这些参数有一个大概了解,然后再看小示例。

free_form参数 :必须参数,指定需要执行的脚本,脚本位于ansible主机本地,并没有具体的一个参数名叫free_form,具体解释参考command模块。

chdir参数 : 此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到chdir参数指定的目录中。

creates参数 :使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本,可参考command模块中的解释。

removes参数 :使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本,可参考command模块中的解释。

示例如下:
ansible本机创建脚本
#!/bin/bash
touch test

在本机执行脚本在客户端指定目录下执行:

[root@jack7-1 ~]# ansible jack6-2 -m shell -a ‘chdir=/tmp/ ls -a | grep test‘

jack6-2 | CHANGED | rc=0 >>br/>.test
test2
.test.7046.2020-08-30@17:25:00~
.test.7161.2020-08-30@17:27:21~

[root@jack7-1 ~]# ansible jack6-2 -m script -a ‘chdir=/tmp/ creates=/tmp/test /root/test.sh‘

jack6-2 | CHANGED => {
"changed": true,
"rc": 0,
"stderr": "Shared connection to 192.168.179.137 closed.\r\n",
"stderr_lines": [
"Shared connection to 192.168.179.137 closed."
],
"stdout": "",
"stdout_lines": []
}

[root@jack7-1 ~]# ansible jack6-2 -m shell -a ‘chdir=/tmp/ ls -a | grep test‘

jack6-2 | CHANGED | rc=0 >>br/>test
.test
test2
.test.7046.2020-08-30@17:25:00~
.test.7161.2020-08-30@17:27:21~

可以看到文件已经创建

ansible模块script

标签:参考   了解   shell   bash   root   执行   模块   chdir   share   

原文地址:https://blog.51cto.com/13434656/2525932

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!