- command模块
一般用于执行Linux的命令,不支持管道符和重定向。
2,shell模块相当于command的升级版,也可以执行Linux命令。支持管道符和重定向
3,Cron在远程主机生成定时任务
分 时 日 月 周
Minute hour day month weekday
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模块
用于复制指定的主机文件到远程主机的模块
常用的参数:
Dest:指出要复制的文件在哪,必须使用绝对路径,如果元目标是目录,指目标也得是目录。如果目标的文件存在,会覆盖原内容。
Src:复制文件的源,最好使用绝对路径,源目标是目录。至目标也得是目录
Owner:指定文件的所有者
Group:指定文件的所在组
Content:从主机复制指定的内容到目标主机,content就不能使用src
Mode 指定复制之后的文件权限。
复制目录时,还是复制完整的目录,即目录当中不能为空。里面最终要有一个文件。
9,file模块:管理模块属性,文件模块跟目录无关
Owner group mode
State=link 创建连接文件
State=touch 创建文件
State=absent 删除文件
修改文件的所有者和所在组
远程删除:
10,yum模块:
远程主机上安装与卸载软件包
在目标主机上的操作都是后台运行,不影响其他用户的使用。
安装httpd
卸载tree
11,service/systemd模块
常用参数:
Name,设定管理服务器的名称
State=started | stoopped | restarted 管理动作
Enabled=ture 表示是否设置开机自启,如果不加,默认就是开机不自动启动。
Runlevel:配合enable的,开机自启。可以配置运行级别。在命令行可以设置,但是不生效,要在playbook当中使用。
,安装nginx设置为开机自启,设置访问页面this is nginx /usr/shate/nginx/html
12,script模块:
运行本地脚本,然后吧结果输出到目标主机。
写一个shell脚本,内容 touch 123 echo "郭期真帅" > 123
13, setup模块:
Setup查看目标主机的环境系统(facts)目标节点的系统信息。
Filter :过滤条件
主机清单:
Ansible可以管理上千台主机
如何取消ssh密钥对免密登录
主机清单管理当中的变量名:
Ansible_host 连接时的IP地址
Ansible_port 声明对方的链接端口,默认是ssh的22端口
Ansible_user 指定链接时使用对方主机的用户名,不指定主机执行ansible的用户即为使用
目标主机的用户名。
Ansible_password 指定链接sshs时的密码(目标主机的用户密码)
Ansible_become 提升用户权限。
Ansible_become root
Ansible_become_password 指定切换用户的密码。
取消密钥对的验证
声明组变量:
如何来实现组之间的嵌套: