Ansible 模块

1、查看 ansible 支持的模块

ansible-doc -l

2、常用的模块

ping:                尝试连接主机,如果测试成功会返回‘pong’
COMMAND:    在远程节点执行命令,默认模块
YUM:               使用yum软件包管理工具管理软件包
SHEEL:           和command模块类似,执行命令,支持变量等符号
cron:                管理定时任务,计划任务
SYSTEMD:      管理程序服务
FILE:                设置文件属性
COPY:             复制本地文件到远程主机
script:               传送本地的一个脚本并在远程主机上执行
setup:               获取远程主机的参数信息
USER:             管理用户账户
group:              添加或者删除用户组 

3、查看某模块的用法

ansible-doc -s yum

COMMAND

命令模块 适合使用简单的命令 无法支持"<",">","|",";","&"等符号
官方文档:https://docs.ansible.com/ansible/latest/modules/command_module.html#command-module

参数 选项/默认值 释义
chdir   在执行命令前,进入到指定目录中
creates   判断指定文件是否存在,如果存在,不执行后面的操作
removes   判断指定文件是否存在,如果存在,执行后面的操作
free_form   必须要输入一个合理的命令
ansible testgroup -m command -a "date"

# 也可以这样
ansible testgroup -a "date"

YUM

使用yum软件包管理器安装,升级,降级,删除和列出软件包和组。
官方文档:https://docs.ansible.com/ansible/latest/modules/yum_repository_module.html#yum-repository-module

参数 选项/默认值 释义
name(required)   指定软件名称信息
state absent / removed 将软件进行卸载
  present / installed 将软件进行安装
latest   安装最新的软件 yum update
# sample
ansible testgroup -m yum -a "name=httpd state=installed"

SHEEL

类似command模块升级版—万能模块,可以使用"<",">","|",";","&"等符号特殊符号
官方文档:https://docs.ansible.com/ansible/latest/modules/shell_module.html#shell-module

参数 选项/默认值 释义
chdir   在执行命令前,进入到指定目录中
creates   判断指定文件是否存在,如果存在,不执行后面的操作
removes   判断指定文件是否存在,如果存在,执行后面的操作
free_form   必须要输入一个合理的命令
ansible testgroup -m shell -a "ps -ef | grep sshd"

SYSTEMD

用于管理服务运行状态
官方文档:https://docs.ansible.com/ansible/latest/modules/systemd_module.html

参数 选项/默认值 释义
name   设置要启动/停止服务名称
enable no/yes 是否开机启动
state reloaded 平滑重启
  restarted 重启
  started 启动
  stopped 停止
 ansible testgroup -m systemd -a "name=httpd state=started"

FILE

实现创建/删除文件信息 对数据权限进行修改
官方文档:https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module  

参数 选项/默认值 释义
path   定义文件目录的路径
group   设置文件属组用户信息
mode   设置数据的权限 0644 0755
owner   设置文件属主用户信息
src   要被软连接的源文件的路径,只适用于state=link的情况
dest   被连接到的路径,只适用于state=link的情况
state absent 将数据进行删除
  directory 创建一个目录
  file 查看指定目录信息是否存在
  touch 创建一个文件
  hard/link 创建链接文件
ansible testgroup -m file -a "path=/opt/opt.txt state=touch"

COPY

主要用于将管理主机上的数据信息传送给多台主机
官方文档:https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module 

参数 选项/默认值 释义
src   指定将本地管理主机的什么数据信息进行远程复制
backup no* yes 默认数据复制到远程主机,会覆盖原有文件(yes 将源文件进行备份)
content   在文件中添加信息
dest   将数据复制到远程节点的路径信息
group   文件数据复制到远程主机,设置文件属组用户信息
mode   文件数据复制到远程主机,设置数据的权限 eg 0644 0755
owner   文件数据复制到远程主机,设置文件属主用户信息
ansible testgroup -m copy -a "src=/root/anaconda-ks.cfg dest=/opt"

USER

远程批量创建用户信息
官方文档:https://docs.ansible.com/ansible/latest/modules/user_module.html#user-module

参数 选项/默认值 释义
password   请输入密码信息
name   指定用户名信息
uid   指定用户uid信息
group   指定用户主要属于哪个组
groups   指定用户属于哪个附加组信息
shell /bin/bash或/sbin/nologin 指定是否能够登录
create_home yes/no 是否创建家目录信息
home   指定家目录创建在什么路径 默认/home
ansible testgroup -m user -a "name=tomma"

 

你可能感兴趣的:(Automated,Ops)