综合架构——ansible批量管理服务_ansible综合规划

本文详细介绍了Ansible的模块使用,包括command、shell和script模块,用于在远程主机上执行命令和脚本。此外,还讨论了copy和file模块,用于文件的复制和管理,如权限、属主和属组的设置。内容涵盖模块参数、使用场景和实例,适合运维工程师学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述1.主机清单配置
2.软件模块信息
3.基于密钥连接主机
4.主机需要关闭Selinux
5.软件剧本功能

五、ansible的模块

1.命令类型模块
1.1 command模块

默认模块,即使不写也默认生效。在一个远程主机上执行一个命令;
在这里插入图片描述
参数解析:

  • free_form:默认参数,即使不写也默认生效;使用command模块的时候,-a参数后面写上一个合法的linux命令。
  • chdir:在执行命令之前,对目录进行切换。
  • creates:条件判断参数,若当指定的文件存在时,就不执行对应命令,比如,如果/testdir/test文件存在,就不执行我们指定的命令。
  • removes:条件判断参数,刚好与creates效果相反,若文件存在了,则执行。

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

提升练习:

  1. 批量远程控制所有主机,在远端主机的/tmp目录下创建a.txt
ansible all -m command -a “chdir=/tmp touch a.txt”

  1. 批量远程控制所有主机,若远端主机的/tmp目录下不存在b.txt,则创建c.txt文件。
ansible all -m command -a “creates=/tmp/b.txt chdir=/tmp touch c.txt”

必须结合chdir,否则默认创建在远端主机的家目录下;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值