翼度科技»论坛 云主机 LINUX 查看内容

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

9

主题

9

帖子

27

积分

新手上路

Rank: 1

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

Ansible命令格式介绍

Ansible命令格式

ansible [群组名] -m [模块名] -a [参数]
Ansible命令返回值的颜色表示
  1. 绿色:代表对远程节点不进行相应修改,没有发生改变,命令执行成功
  2. 黄色:代表对远程节点进行了相应的修改,命令执行成功
  3. 红色:代表命令执行失败或者有异常
  4. 粉色:代表命令执行后发出的警告信息,给出建议(可以忽略)
复制代码
Ansible执行命令的方式
  1. ad-doc:在命令行执行的命令(临时命令)
  2. Playbook:将命令写入到Playbook剧本中
复制代码
Ansible常用模块介绍

command模块


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

  • command模块示例
  1. chdir参数示例
  2. 执行ls命令前,先切换到/root目录
复制代码
  1. creates参数示例
  2. 执行ls命令前,先判断是否存在/etc/passwd这个文件,如果存在则不执行命令,不存在则执行
复制代码
  1. removes参数示例
  2. 执行ls命令前,先判断是否存在/etc/passwd这个文件,如果不存在则不执行命令,存在则执行
复制代码

shell模块


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


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


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


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


  • copy模块用于将文件复制到远程主机
  • 常用参数
  1. src:用于指定需要拷贝的文件或目录
  2. dest:用于指定文件将拷贝到远程主机的哪个目录中,dest为必须参数
  3. content:当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错
  4. force:当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变
  5. backup:当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,默认为no,设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机
  6. owner:指定文件拷贝到远程主机后的属主,远程主机上必须有对应的用户,否则会报错
  7. group:用于指定文件拷贝到远程主机后属组,远程主机上必须有对应的组,否则会报错
  8. mode:指定文件拷贝到远程主机后的权限,例:设置权限为rw-r--r--,可以使用mode=0644表示
复制代码
来源:https://www.cnblogs.com/mr-wushuang/p/17972772
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
来自手机

举报 回复 使用道具