本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

ansible的script模块

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


此文章为「ansible笔记(2)之常用模块」的子文章。

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

学习此模块之前,请先参考的「command 模块」。

参数说明:

  • free_form :必须参数,指定需要执行的脚本,脚本位于 ansible 主机本地,并没有具体的一个参数名叫 free_form,具体解释参考 command 模块;
  • chdir:此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到 chdir 参数指定的目录中;
  • creates:使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本,可参考 command 模块中的解释。
  • removes:使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本,可参考 command 模块中的解释。

例 1:如下命令表示 ansible 主机中的 /testdir/atest.sh 脚本将在客户机中执行,执行此脚本之前,会先进入到客户机主机中的 /opt 目录。

$ ansible all -m script -a "chdir=/opt /testdir/atest.sh"

例 2:如下命令表示,如果客户机中的 /opt/testfile 文件已经存在, ansible 主机中的 /testdir/atest.sh 脚本将不会在客户机中执行,反之则执行。

$ ansible all -m script -a "creates=/opt/testfile /testdir/atest.sh"

例 3:如下命令表示,如果客户机中的 /opt/testfile 文件不存在, ansible 主机中的 /testdir/atest.sh 脚本将不会在客户机中执行,反之则执行。

$ ansible all -m script -a "removes=/opt/testfile /testdir/atest.sh"

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×