标签:参考 了解 shell bash root 执行 模块 chdir share
scriptscript模块可以帮助我们在远程主机上执行ansible主机上的脚本,也就是说,脚本一直存在于ansible主机本地,不需要手动拷贝到远程主机后再执行。
学习此模块之前,请先参考本文中的command模块。
此处我们介绍一些script模块的常用参数,你可以先对这些参数有一个大概了解,然后再看小示例。
free_form参数 :必须参数,指定需要执行的脚本,脚本位于ansible主机本地,并没有具体的一个参数名叫free_form,具体解释参考command模块。
chdir参数 : 此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到chdir参数指定的目录中。
creates参数 :使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本,可参考command模块中的解释。
removes参数 :使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本,可参考command模块中的解释。
示例如下:
ansible本机创建脚本
#!/bin/bash
touch 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~
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": []
}
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~
可以看到文件已经创建
标签:参考 了解 shell bash root 执行 模块 chdir share
原文地址:https://blog.51cto.com/13434656/2525932