???一般用于执行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 指定切换用户的密码。
取消密钥对的验证
声明组变量:
如何来实现组之间的嵌套: