ansible常用模块
shell模块
*ansible-doc -s shell 查看shell模块的用法
- name: Execute commands in nodes
action: shell
chdir #在执行命令前,先cd到指定的目录下
creates #用于判断命令是否要执行,如果存在的目录存在,则不执行
removes # 用于判断命令是否要执行,如果指定的文件不存在,则不执行
copy模块
fetch模块
和copy工作方式类似,只不过是从远程主机将文件拉取到本地端,储存时使用主机名作为目录树,只能来去文件,不能拉去目录
template模块
*主要用于复制配置文件。虽然template模板可以按需求修改配置文件内容来复制模板到被控的主机上,但是有一种情况是不能解决的,不同被控借点的配置文件差异很大,并非修改几个变量就可以实现的。
file模块
管理文件、目录的属性,也可以创建文件或者目录。可以递归创建目录,但是不能在不存在的目录中创建文件。只能先创建目录,再创建文件
yum_repository模块
用于配置yum源。可以实现非常完整的yum仓库配置,但是一般只需要简单的添加yum源即可
service和systemd模块
该模块主要用于管理服务的启动、关闭、重启和开机自启
user模块
debug模块
用于输出自定义的信息,类似于,echo、print等输出命令
get_url模块
主要用于下载文件
归档archive模块
用于在远端压缩文件,当然,前提是远端主机上要有对应的压缩工具,支持zip/gz/tar/bz2
解包unarchive模块
默认复制ansible段的归档文件到被控主机上,然后 在被控的主机上进行解包,如果设置remote_src=yes,则表示解包被控主机上的归档文件