Ansible 常用模块

1. command 模块
Command 模块在远程主机执行命令,不支持管道,重定向等 Shell 的特性,常用参数如下(不支持管道,不建议使用)。
1. chdir:在远程主机上运行命令前要提前进入的目录
2. creates:在命令运行时创建一个文件,如果文件已经存在,则不会创建任务
3. removes:在命令运行时移除一个文件,如果不存在,则不会执行移除任务
4. executeble:指明运行命令的 Shell 程序
 
2. Shell 模块
shell 模块在远程主机执行命令,相当于调用远程主机的 shell 进程,然后在该shell 下打开一个子 shell 运行命令,和 command 模块的区别是它支持 shell 特性,如管道,重定向等。
 
3. raw 模块
最原始的方式运行命令(不依赖 python,仅通过 ssh 实现,效率比较高)
 
4. copy 模块
copy 模块用于复制指定主机文件到远程主机的指定位置,常见的参数如下:
1. dest:指出复制文件的目标目录位置,使用绝对路径。如果源是目录,指定目标也要是目录,如果目标文件已经存在会覆盖原有内容。
2. src:指出源文件的路径,可以使用相对路径或绝对路径,支持直接指定目录,如果源是目录则目标也要是目录。
3. mode:指出复制时,目标文件的权限 (可选)
4. owner:指出复制时,目标文件的属主 (可选)
5. group:指出复制时,目标文件的属组 (可选)
6. content:指出复制到目标主机上的内容,不与 src 一起使用,相当于复制 content 指明的数据到目标文件中。
 
提示:
参数:backup=yes 意思是,如果目标路径下,有与我同名但不同内容的文件时,在覆盖前,对目标文件先进行备份。
所有被管理节点必须安装 libselinux-python 包
 
5. hostname 模块
hostname 模块用于管理远程主机上的主机名,常用参数如下:
1. name:指明主机名
 
6. yum 模块
Yum 模块基于 yum 机制,对远程主机管理程序包,常用参数如下:
1. name:程序包的名称,可以带上版本号,如不指定版本号默认安装为最新版本。
2. state=present | latest | absent:指明对程序包执行的操作,pressent 表示安装程序包,latest 表示安装最新版本的程序包,absent 表示卸载程序包。
3. disablerepo:在用 yum 安装时禁用某个仓库的 ID。
4. enablerepo:在用 yum 安装时启用某个仓库的 ID。
5. conf_file: yum 运行时的配置文件而不是使用默认的配置文件
6. diable_gpg_check_=yes | no:是否启用完整性校验功能。
 
注意:
实验前要在 client 端配置 yum 仓库
管理员只是发送 yum 命令到被管理端,被管理端要存在可用的 yum 仓库才可以成功安装。
 
7. service 模块
service 模块为用来管理远程主机上的服务的模块,常见参数如下:
1. name:被管理的服务名称。
2. state=started | stopped | restarted:动作包含启动关闭或重启。
3. enabled=yes | no:表示是否设置该服务开机自启动。
4. runlevel:如果设定了 enabled 开机自启动,则要定义在哪些运行目标下自启动。
 
8. User 模块
User 模块用于管理远程主机上的用户账户,常见参数如下:
1. name:必选参数 账号名称
2. state=present | absent:创建账号或者删除账号,present 表示创建,absent 表示删除。
3. system=yes | no:是否为系统账号。
4. uid:用户的 UID。
5. group:用户的基本组。
6. groups:用户的附加组。
7. shell:默认使用的 shell。
8. home:用户的家目录。
9. move_home=yes | no:如果设置的家目录已经存在,是否将已存在的家目录进行移动。
10. password:用户的密码,建议使用加密后的字符串。
11. comment:用户的注释信息。
12. remove=yes | no:当 state=absent 时,是否删除用户的家目录。
 
案例:
ansible calm -m user -a 'name=user1 system=yes uid=502 group=root group=sshd shell=/sbin/nologin home=/home/user1 password=user1 comment="test user"'
//ansible 命令字 对 calm 组进行操作 -m 指定模块为 user -a 信息 ‘用户名为 user1 是系统账号 uid 是 502 用户的基本组是 root 附加组是 sshd shell 是/sbin/nologin 家目录是 /home/user1 注释信息是测试用户’
原文地址:https://www.cnblogs.com/wanghs8/p/11753486.html