ping
?ping 模块用来检查目标主机是否在线
? 例子: ansible webserver -m ping
yum
?yum 模块用来在 CentOS 系统上使用 yum 命令安装软件包
? 选项:
?name: 指定安装包的名字
?state:latest 安装最新版 present 默认安装 installed 安装 absent 卸载
? 例子: ansible webservers -m yum -a 'name=httpd state=latest'
command
?command 模块用来执行系统命令, 但是不支持 shell 下的特殊符号 如:| && 等
? 例子: ansible webservers -m command -a 'echo 李想'
shell
?shell 模块和 command 模块使用方法基本一致, 但是他可以支持 shell 的特殊符号, 如: | && 等
? 例子: ansible webservers -m shell -a "cd /opt/ && touch lixiang"
service
?service 模块用来管理 CentOS 上的服务的启动, 关闭, 重启和重载
? 选项:
?name: 服务名字
?state: started(启动) stopped(停止) restarted(重启) reloaded(重载)
?enabled: 默认是 no, 将服务设置为开机自启
file
?file 模块用来创建文件, 目录, 链接文件
? 选项:
?group: 定义文件 / 目录的属组
?mode: 定义文件 / 目录的权限
?owner: 定义文件 / 目录的属主
?path: 必选项, 定义文件 / 目录的路径
?recurse: 递归的设置文件的属性, 只对目录有效
?src: 要被链接的源文件的路径, 只应用于 state=link 的情况
?dest: 被链接到的路径, 只应用于 state=link 的情况
?state:
?directory: 如果目录不存在, 创建目录
?file: 即使文件不存在, 也不会被创建
?link: 创建软链接
?hard: 创建硬链接
?touch: 如果文件不存在, 则会创建一个新的文件, 如果文件或目录已存在, 则更新其最后修改时间
?absent: 删除目录, 文件或者取消链接文件
user
?user 模块用来创建用户
? 选项:
?home: 指定创建的家目录
?groups: 指定用户组
?uid: 指定 UID
?password: 设置密码, 密码必须是密文
?name: 创建的用户名字
?createhome: 是否创建家目录 (yes/no)
?state: 是创建还是删除.(present,absent), 默认是创建
?shell: 指定用户登录的 shell 环境
group
?group 用来创建用户组
? 选项
??gid: 指定用的 gid.?
?name: 指定用户名.?
?state: 是创建还是删除.(present,absent)?
copy
?copy 模块用来复制文件至目标主机
? 选项:
?src: 文件在管理主机的据对路径或者相对路径
?dest: 将文件复制到目标主机的路径
?bakcup: 是否将目标主机的同名文件备份, 默认为 no
?directory_mode: 递归授权
? 例子:
- ansible webservers -m copy -a 'src=/root/nginx.sh dest=/opt/'
- unarchive
?unarchive 模块用来解压文件
? 选项:
?copy: 在解压文件之前, 是否先将文件复制到远程主机, 默认为 yes. 若为 no, 则要求目标主机上压缩包必须存在
?creates: 指定一个文件名, 当该文件存在时, 则解压指令不执行
?dest: 远程主机上的一个路径, 即文件解压的绝对路径.
?group: 解压后的目录或文件的属组
?mode: 解压后文件的权限
?src: 如果 copy 为 yes, 则需要指定压缩文件的源路径
?owner: 解压后文件或目录的属主
? 例子:
- ansible webservers -m unarchive -a 'src=/root/nginx.tar.gz dest=/opt/ group=www ower=www mode=777'
- get_url
?get_url 模块, 该模块主要用于从 http,ftp,https 服务器上下载文件 (类似于 wget
? 选项:
?url: 指定要下载的文件的 URL 地址
? 例子:
- ansible webservers -m get_url -a 'url= http://nginx.org/download/nginx-1.15.7.tar.gz'
- synchronize
? 使用 rsync 同步文件, 将主控方目录推送到指定节点的目录下, 使用此模块需要先安装 rsync
?delete: 删除不存在的文件, delete=yes 使两边的内容一样 (即以推送方为主), 默认 no
?src: 要同步到目的地的源主机上的路径; 路径可以是绝对的或相对的. 如果路径使用 "/" 来结尾, 则只复制目录里的内容, 如果没有使用 "/" 来结尾, 则包含目录在内的整个内容全部复制
?dest: 目的地主机上将与源同步的路径; 路径可以是绝对的或相对的.
?dest_port: 默认目录主机上的端口 , 默认是 22, 走的 SSH 协议.
?mode: push 或 pull, 默认 push, 一般用于从本机向远程主机上传文件, pull 模式用于从远程主机上取文件.
?rsync_opts: 通过传递数组来指定其他 rsync 选项.
fetch
?fetch 模块它用于从远程机器获取文件, 并将其本地存储在由主机名组织的文件树中.
? 选项:
?src: 远程系统上要获取的文件. 这必须是一个文件, 而不是一个目录. 后续版本可能会支持递归提取.
?dest: 保存文件的目录
setup
?setup 模块用于收集远程主机的一些基本信息.
? 选项:
?filter 参数: 用于进行条件过滤. 如果设置, 仅返回匹配过滤条件的信息.
? 常用的过滤关键词:
?ansible_all_ipv4_addresses: 仅显示 ipv4 的信息
?ansible_devices: 仅显示磁盘设备信息
?ansible_distribution: 显示是什么系统, 例: CentOS,suse 等
?ansible_distribution_major_version: 显示是系统主版本
?ansible_distribution_version: 仅显示系统版本
?ansible_machine: 显示系统类型, 例: 32 位, 还是 64 位
?ansible_eth0: 仅显示 eth0 的信息
?ansible_hostname: 仅显示主机名
?ansible_kernel: 仅显示内核版本
?ansible_lvm: 显示 lvm 相关信息
?ansible_memtotal_mb: 显示系统总内存
?ansible_memfree_mb: 显示可用系统内存
?ansible_memory_mb: 详细显示内存情况
?ansible_swaptotal_mb: 显示总的 swap 内存
?ansible_swapfree_mb: 显示 swap 内存的可用内存
?ansible_mounts: 显示系统磁盘挂载情况
?ansible_processor: 显示 CPU 个数 (具体显示每个 CPU 的型号)
?ansible_processor_vcpus: 显示 CPU 个数 (只显示总的个数)
?ansible_python_version: 显示 python 版本
? 例子:
获取目标主机的 ipv4 地址
ansible webservers -m setup -a 'filter=ansible_all_ipv4_addresses'
来源: http://www.bubuko.com/infodetail-2987855.html