Ansible——command模块

command 模块在远程主机上执行命令。使用 command 模块在远程主机中执行命令时,不会经过远程主机的 shell 处理,在使用 command 模块时,如果需要执行的命令中含有重定向、管道符等操作时,这些符号也会失效,比如”<”, “>”, “|”, “;” 和 “&” 这些符号,如果你需要这些功能,可以参考后面介绍的 shell 模块。如果远程节点是 windows 操作系统,则需要使用 win_command 模块。
执行 ansible 时,不加 -m 默认使用 command ,可以在 /etc/ansible/ansible.cfg 中修改。

# default module name for /usr/bin/ansible
#module_name = command

一、常用参数

free_form:required,指定需要远程执行的命令。在远程主机上执行 ls 命令时,并不需要写成”free_form=ls” ,这样写是错误的,因为并没有任何参数的名字是 free_form,直接写成 ls 即可。
chdir: 指定一个工作目录,在执行对应的命令之前,会先进入到 chdir 参数指定的目录中。
creates:当指定的文件存在时,就不执行对应命令。
removes:与 creates 参数的作用正好相反。

二、示例

[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "ls"
[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "chdir=/testdir ls"
[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "creates=/testdir/testfile1 echo test"
[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "creates=/testdir/testfile3 echo test"
[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "removes=/testdir/testfile1 echo test"
[root@ansible-manager ~]# ansible ansible-demo3 -m command -a "removes=/testdir/testfile3 echo test"

————Blueicex 2020/2/2 18:40 [email protected]

发布了55 篇原创文章 · 获赞 0 · 访问量 2009

猜你喜欢

转载自blog.csdn.net/blueicex2017/article/details/104134729