1、command模块
一般用于执行linux命令,不支持管道符和重定向
2、shell模块
相当于command模块的升级版,也可以支持linux命令。支持管道符和重定向
3、cron模块
在远程主机生成定时任务
分 时 日 月 周 minute hour day month weekday
job=
name 声明计划任务的名称,可以不加,以后声明定时任务的名称是必须的。
4、user模块:
远程管理用户的模块,创建用户
system=yes | no
声明是普通还是系统用户
yes 程序用户
no 普通用户
登录的shell还是需要用户自己声明
remove=yes/no
删除用户时是否删除家目录
userdel -r
password 创建密码
5、group模块,创建用户组
6、ping模块,测试和远程主机的连通性
只有在/etc/ansible/hosts文件中声明的主机,ansible的服务端才能进行远程操作
7、hostname模块,给远程主机改名
8、copy模块,用于复制指定的主机文件到远程主机的模块
9、file模块 文件模块(和目录无关)
10、yum模块 远程主机上安装与卸载软件包
11、service/systemd模块
12、script模块 运行本地脚本,然后把结果输出到目标主机
13、setup模块 查看目标主机的环境信息(facts),目标节点的系统信息
模块7:hostname模块 给远程主机改名
ansible 192.168.233.20 -m hostname -a 'name=yc'


模块8:copy模块 用于复制指定的主机文件到远程主机的模块
常用参数:
dest 指出要复制的文件在哪,必须使用绝对路径。如果源目标是目录,那么指目标也要是目录。如果目标文件存在,会覆盖原有内容
src:复制文件的源。最好使用绝对路径,源目标是目录,指目标也得是目录
owner 指出文件的所有者
group 指定文件的所在组
content 从主机复制指定的内容到目标主机。用了content就不能用src,作用就是替代src
mode 指定复制之后的文件权限
复制目录时,还是复制完整的目录,即目录当中不能为空
src
root@10 opt\]# mkdir test \[root@10 opt\]# cd test/ \[root@10 test\]# touch 123 \[root@10 test\]# cd .. \[root@10 opt\]# ansible 192.168.233.20 -m copy -a 'src=/opt/test dest=/opt/guoqi2 mode=777'  content \[root@10 opt\]# ansible 192.168.233.20 -m copy -a 'content="I LOVE YOU" dest=/opt/love.txt'  没有mv模块  ****模块9:file模块 文件模块(和目录无关)**** owner group mode state=link 创建链接文件 state=touch 创建文件 state=absent 删除文件 ****模块10:yum模块 远程主机上安装与卸载软件包**** 在目标主机上的操作都是后台运行,不影响其他用户的使用 ****模块11:service/systemd模块**** name 设定管理服务的名称 state=satrted/stopped/restarted 管理动作 enabled=yes/no 表示是否设置开机自启,如果不加,默认就是开机不自启 runlevel:配合enabled的,开机自启的话,可以设置运行级别。在命令行可以设置,但是不生效,必须要在playbook中使用  ****模块12:script模块 运行本地脚本,然后把结果输出到目标主机**** ansible all -m script -a '1.sh'  **模块13:setup模块 查看目标主机的环境信息(facts),目标节点的系统信息** 查看全部 ansible 192.168.233.20 -m setup  查看IP地址 ansible all -m setup -a 'filter=\*ipv4'  查看CPU ansible all -m setup -a 'filter=ansible_processor'  查看内存 ansible all -m setup -a 'filter=ansible_memory\*'  查看系统信息 ansible all -m setup -a 'filter=\*system\*'  查看系统底层信息 ansible all -m setup -a 'filter=\*os\*'  查看硬盘 ansible all -m setup -a 'filter=\*system\*'  内核信息 ansible all -m setup -a 'filter=\*proc\*'  主机清单: ansible可以管理上千台主机 快速声明多个主机 192.168.233.3\[1:9
31--39
ansible_host 连接时的IP地址
ansible_port 声明对方的连接端口,默认是ssh的22端口
ansible_user 指定连接时使用对方主机的用户名,不指定主机执行ansible的用户即为使用目标主机的用户名
ansible_password 指定连接sshs时的密码 (目标主机的用户密码)
ansible_become 提升用户权限
ansible_become_password 指定切换用户的密码。(免秘钥登录才可以实现)