Ansible命令格式和常用模块介绍

  • Ansible命令格式和常用模块介绍已关闭评论
  • 88 次浏览
  • A+
所属分类:linux技术
摘要

ansible [群组名] -m [模块名] -a [参数]提示:shell模块中的chdir,creates、removes参数的作用都是相同的


Ansible命令格式和常用模块介绍

Ansible命令格式介绍

Ansible命令格式

ansible [群组名] -m [模块名] -a [参数]

Ansible命令返回值的颜色表示

绿色:代表对远程节点不进行相应修改,没有发生改变,命令执行成功 黄色:代表对远程节点进行了相应的修改,命令执行成功 红色:代表命令执行失败或者有异常 粉色:代表命令执行后发出的警告信息,给出建议(可以忽略) 

Ansible执行命令的方式

ad-doc:在命令行执行的命令(临时命令) Playbook:将命令写入到Playbook剧本中 

Ansible常用模块介绍

command模块

  • command模块为默认模块,用于远程执行命令(命令模块)
  • 使用command模块在远程主机中执行命令时,不会经过远程主机的shell处理,在使用command模块时,如果需要执行命令中的含"<",">","|","&"等特殊符号时,这些符号功能会失效
  • 常用参数:
chdir: 此参数表示执行命令前,会先进入到指定的目录中 creates: 表示文件如果存在于远程主机中,则不执行对应命令,如果不存在则执行 removes: 表示文件如果不存在于远程主机中,则不执行对应命令,如果存在则执行 
  • command模块示例
chdir参数示例 执行ls命令前,先切换到/root目录 

Ansible命令格式和常用模块介绍

creates参数示例 执行ls命令前,先判断是否存在/etc/passwd这个文件,如果存在则不执行命令,不存在则执行 

Ansible命令格式和常用模块介绍

removes参数示例 执行ls命令前,先判断是否存在/etc/passwd这个文件,如果不存在则不执行命令,存在则执行 

Ansible命令格式和常用模块介绍

shell模块

  • shell模块,远程执行命令模块,和command模块类似,区别在于shell模块通过/bin/bash解释器处理命令
  • 常用参数:
cmd:指定用于执行的命令(用在Playbook剧本中) chdir: 此参数表示执行命令前,会先进入到指定的目录中 creates: 表示文件如果存在于远程主机中,则不执行对应命令,如果不存在则执行 removes: 表示文件如果不存在于远程主机中,则不执行对应命令,如果存在则执行 

提示:shell模块中的chdir,creates、removes参数的作用都是相同的

script模块

  • script模块用于执行远程脚本,脚本存放在ansible主机本地,不需要拷贝到远程主机
    ansible [群组名] -m script -a [需要执行的脚本]

yum模块

  • yum模块用于在远程主机通过yum源管理软件包
  • 常用参数
name:必须参数,用于指定需要管理的软件包名字 state:用于指定软件包的状态 	present:默认值,表示安装软件包 	installed:此状态表示安装软件包,与present等效 	latest:表示安装yum中最新版本软件包 	removed:表示删除对应软件包 	absent:表示删除对应软件包,与removed等效 

service模块

  • service模块用于管理远程主机的服务,如:启动或停止服务
  • 常用参数:
name:用于指定需要操作的服务名称 state:用于指定服务的状态 	started:启动服务 	restarted:重启服务 	stopped:停止服务 enabled:用于指定是否将服务设置为开机启动项,设置为yes表示设置开机启动,设置no表示不会开机启动 

copy模块

  • copy模块用于将文件复制到远程主机
  • 常用参数
src:用于指定需要拷贝的文件或目录 dest:用于指定文件将拷贝到远程主机的哪个目录中,dest为必须参数 content:当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错 force:当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变 backup:当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,默认为no,设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机 owner:指定文件拷贝到远程主机后的属主,远程主机上必须有对应的用户,否则会报错 group:用于指定文件拷贝到远程主机后属组,远程主机上必须有对应的组,否则会报错 mode:指定文件拷贝到远程主机后的权限,例:设置权限为rw-r--r--,可以使用mode=0644表示