首页 > 其他分享 >Ansible命令格式和常用模块介绍

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

时间:2024-01-19 10:11:54浏览次数:23  
标签:文件 主机 命令 Ansible 模块 格式 执行 远程

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目录

image

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

image

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

image

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表示

标签:文件,主机,命令,Ansible,模块,格式,执行,远程
From: https://www.cnblogs.com/mr-wushuang/p/17972772

相关文章

  • @RestControllerAdvice定义返回格式
    原文链接:如何优雅的写Controller层代码?一、拦截异常,封装返回值@RestControllerAdvicepublicclassControllerExceptionAdvice{@ExceptionHandler({BindException.class})publicResultVoMethodArgumentNotValidExceptionHandler(BindExceptione){/......
  • vulkan/数据格式说明- normalized
    VK_FORMAT_A8B8G8R8_UNORM_PACK32VK_FORMAT_A8B8G8R8_SNORM_PACK32VK_FORMAT_A8B8G8R8_USCALED_PACK32VK_FORMAT_A8B8G8R8_SSCALED_PACK32VK_FORMAT_A8B8G8R8_UINT_PACK32 引用规范中的 IdentificationofFormats 和 ConversionfromNormalizedFixed-......
  • BOSHIDA 探索直流电源模块的应用领域
    BOSHIDA探索直流电源模块的应用领域直流电源模块广泛应用于许多领域,包括电子设备、通信、工业自动化、航空航天等。以下是一些常见的应用领域: 1.电子设备:直流电源模块用于给各种电子设备供电,如计算机、手机、平板电脑、摄像机等。2.通信:直流电源模块用于为通信设备供电,如......
  • 使用JSZip库解压后台返回的Blob格式文件,并回显到element-ui的el-upload组件
    有一个报告列表,点击编辑的时候需要回显新建时上传的附件。后台提供了一个下载接口,但是会将所有上传的文件打包为一个压缩的blob。类似这种:leturlArr=[];urlArr=urlArr.concat(this.downLoadUrl.split(";"));this.$http.downLoadFile({url:urlArr.......
  • win32com模块--------------------------------word文档转换PDF文档(格式转换)
    上代码:fromwin32com.clientimportgencachefromwin32com.clientimportconstants,gencache'''win32com库是Python语言与Windows操作系统中的COM(ComponentObjectModel)接口进行交互的工具库。它允许开发者使用Python来操作Windows系统中的各种COM组件,例如Office软件(Word、Exc......
  • 目标检测数据集 - 夜间行人检测数据集下载「包含VOC、COCO、YOLO三种格式」
    数据集介绍:夜间、低光行人检测数据集,真实场景高质量图片数据,涉及场景丰富,比如夜间街景行人、夜间道路行人、夜间遮挡行人、夜间严重遮挡行人数据;适用实际项目应用:公共场所监控场景下夜间行人检测项目,以及作为监控场景通用行人检测数据集夜间场景数据的补充;标注说明:采用labelimg标......
  • 目标检测数据集大全「包含VOC+COCO+YOLO三种格式+划分脚本+训练脚本」(持续原地更新)
    一、作者介绍:五年+算法开发经验、AI算法经理、阿里云开发社区专家博主、稀土掘金人工智能内容评审委员会成员。擅长:检测、分割、理解、AIGC等算法训练与部署。二、数据集介绍:质量高:高质量图片、高质量标注数据,使用labelimg软件吐血标注、整理,可以作为训练模型的基础数据集或者......
  • 计算两时间之前的差值时长,并转换成时分秒的字符串格式
    ///<summary>///返回时间差的总时长,以*天*时*分*秒的格式///</summary>///<paramname="startTime"></param>///<paramname="overTime"></param>///<returns><......
  • Maven使用${revision}实现多模块版本统一管理
    父pom: <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mave......
  • 如何在博客园上传MD格式文件
    如何在博客园上传MD格式文件第一步使用cmd安装pyyaml库pip3installpyyaml#我已经安装过了,显示不一样第二步下载解压pycnbolghttps://github.com/dongfanger/pycnblog第三步打开文件夹中config.yaml文件修改配置blog_url:#这个就是你的博客网址blog_id:""博客......