ansible-playbook debug输出区别与用法

2023-05-16

  1. ansible-playbook debug中var输出和msg输出的区别
    msg:调试输出的消息
    var:将某个任务执行的输出作为变量传递给debug模块
    使用var的时候,引用变量无需加上大括号{{}}
    使用msg的时候相当于输出一条字符串,需要加上引用变量

    [root@iZ2ze1o roles]#cat checkd_docker.yml 
    ---
      - hosts: youyou
        tasks: 
          - name: debug-var
            vars:
              docker_version: "xiapi"
            debug: var=docker_version
            
          - name: debug-msg
            vars:
              docker_version: "xiapi"
            debug: 
              msg: "{{ docker_version }}"
    [root@iZ2ze1o roles]#
    
    [root@iZ2ze1o roles]# ansible-playbook checkd_docker.yml 
    
    PLAY [youyou] ***************************************************************************************************************
    
    TASK [Gathering Facts] ******************************************************************************************************
    ok: [172.27.78.247]
    
    TASK [check] ****************************************************************************************************************
    ok: [172.27.78.247]
    
    TASK [debug-var] ************************************************************************************************************
    ok: [172.27.78.247] => {
        "docker_version": "xiapi"
    }
    
    TASK [debug-msg] ************************************************************************************************************
    ok: [172.27.78.247] => {
        "msg": "xiapi"
    }
    
    PLAY RECAP ******************************************************************************************************************
    172.27.78.247              : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
    
    [root@iZ2ze1o roles]#
    
  2. ansible-playbook 将执行命令的结果返回在屏幕上
    可以看到debug不光输出了date命令结果,还返回了很多相关调试信息,只需要date返回值,可以使用变量属性过滤 如:xiapi.stdout 就是命令的返回值。

     "changed": false  
     是否改变,这次我通过changed_when 控制为false,如果不控制的话,执行命令算是成功改变
     "cmd": "date"  
     所执行的命令
     "delta": "0:00:00.004843"
     执行的耗时时间
     "end": "2020-06-11 14:05:37.566633"
     结束时间
     "rc": 0
     命令执行返回的数字,0代表成功,其他则是不成功 和$?等同
     "start": "2020-06-11 14:05:37.561790"
     开始时间
     "stdout": "Thu Jun 11 14:05:37 CST 2020"
     命令输出的结果
    
    [root@iZ2ze1o0n0b42zks2le9byZ roles]#cat checkd_docker.yml 
    ---
      - hosts: youyou
        tasks: 
          - name: check
            shell: date
            register: xiapi
            changed_when: false
            ignore_errors: true
          - name: debug-var
            debug: var=xiapi
            
          - name: debug-msg
            vars:
              docker_version: "{{ xiapi.stdout }}"
            debug: 
              msg: "{{ docker_version }}"
    [root@iZ2ze1o0n0b42zks2le9byZ roles]#
    
    [root@iZ2ze1o0n0b42zks2le9byZ roles]# ansible-playbook checkd_docker.yml 
    
    PLAY [youyou] ***************************************************************************************************************
    
    TASK [Gathering Facts] ******************************************************************************************************
    ok: [172.27.78.247]
    
    TASK [check] ****************************************************************************************************************
    ok: [172.27.78.247]
    
    TASK [debug-var] ************************************************************************************************************
    ok: [172.27.78.247] => {
        "xiapi": {
            "changed": false,
            "cmd": "date",
            "delta": "0:00:00.004843",
            "end": "2020-06-11 14:05:37.566633",
            "failed": false,
            "rc": 0,
            "start": "2020-06-11 14:05:37.561790",
            "stderr": "",
            "stderr_lines": [],
            "stdout": "Thu Jun 11 14:05:37 CST 2020",
            "stdout_lines": [
                "Thu Jun 11 14:05:37 CST 2020"
            ]
        }
    }
    
    TASK [debug-msg] ************************************************************************************************************
    ok: [172.27.78.247] => {
        "msg": "Thu Jun 11 14:05:37 CST 2020"
    }
    
    PLAY RECAP ******************************************************************************************************************
    172.27.78.247              : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
    
    [root@iZ2ze1o0n0b42zks2le9byZ roles]#
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ansible-playbook debug输出区别与用法 的相关文章

  • 在 ansible shell 命令中使用 {{ 和 }}

    我的剧本里有这个 name Get facts about containers shell docker ps f name jenkins format raw Names endraw register container 请注意 我
  • 使用 jinja 的 Ansible set_fact 列表

    我正在尝试学习 jinja 和 Ansible 这是在 RHEL 7 9 上 ansible 2 9 27 ansible python module location usr lib python2 7 site packages ans
  • ansible if else 构造

    这是我的 if else Ansible 逻辑 name Check certs exist stat path etc letsencrypt live rootDomain fullchain pem register st inclu
  • 如何在ansible中为变量分配随机数?

    这是一个 ansible 脚本 我希望它能打印出相同的随机数 3 次 相反 它打印出三个随机数 如何将随机数分配给 ansible 中的变量 以便它在整个剧本中固定 name Test random filter hosts localho
  • Ansible inventory:aws_ec2 模块——寻找工作“groups:”函数的示例

    我有一个使用 aws ec2 模块的动态 ansible 库存 一般来说 它运作得很好 然而 有一个问题 我曾多次尝试使用 groups 关键字创建组 但所有尝试都失败了 文档有点稀疏 事实上 完整的文档就在这里 groups dictio
  • Ansible:权限被拒绝(公钥、密码)

    我无法连接到 Ansible 中的主机 这是错误 192 168 1 12 无法到达 gt 改变 假 msg 错误 SSH 在连接过程中遇到未知错误 我们建议您使用 vvvv 重新运行该命令 这会导致 将启用 SSH 调试输出以帮助诊断问题
  • Ansible:全局模板文件夹?

    谷歌搜索找不到任何东西 有group vars 全部 对于变量 有类似的模板吗 我想在多个角色中使用一些模板 您可以将全局模板放入templatesAnsible 布局顶层目录 与group vars 顺便说一句 全局文件也是如此 file
  • 无法在守护进程模式下运行 Ansible

    我可以运行 Ansible 像守护进程一样管理我的主机吗 例如 我有时会更改我的剧本 但我不想手动运行 ansible playbook main yml 请不要建议 crontab 有一个特定的点 我不能在生产服务器上使用 crontab
  • 使用 ansible SSH 到远程服务器

    我正在使用 ansible 来自动化一些任务 其中之一要求我ssh到服务器A 然后从A到B 然后从B到C 我似乎找不到任何方法来做到这一点 有什么建议么 鉴于您不使用 Paramiko 进行 ssh transport ssh https
  • 带变量的 ansible regex_search

    如何在ansible playbook中使用正则表达式查找匹配项 其中变量出现在regex search争论 以下剧本在使用以下命令运行时找不到匹配项 ansible playbook playbook yml hosts localhos
  • 无法将属性与数字进行比较。错误:“‘AnsibleUnsafeText’和‘int’实例之间不支持”

    getent database passwd debug var getent passwd dict2items selectattr value 1 gt 1000 map attribute key list 输出是 TASK deb
  • 有条件地使用文件夹大小

    我只想在大小大于特定大小时删除文件夹 不幸的是我无法达到想要的结果stat module Attempt hosts pluto tasks stat path home ik thunderbird register folder nam
  • 如何读取/理解目标主机上的ansible日志(由syslog编写)

    当你在某个主机上执行 ansible 时 它 会写入该主机上的 syslog 如下所示 Dec 1 15 00 22 run tools python ansible
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • ansible:基于 extra-vars 文件的任务顺序

    我有包含 10 个任务的 ansible 剧本 任务的顺序因用例而异 因此我必须为每个用例创建 extraVar yml 文件 并且 extraVar yml 将定义任务的顺序 怎么做 Example 剧本 tasks name task1
  • Ansible 无法运行任何命令或 shell

    我在 RPi 上运行任何命令或 shell 时遇到问题 当我使用以下代码时 name Example command ansible builtin command cmd cat etc motd 我收到此错误 Unsupported p
  • Ansible 测试变量以什么开头

    我需要能够安装 MySQL 库 Python 有 1 个用于 v2 的包和另一个用于 v3 的包 我需要能够告诉 Ansible 要安装哪个包 name Ensure MySQL python is installed pip name M
  • 使用 ansible 'Docker login' 和 _json_key Docker 登录到 GCE

    我正在尝试编写一个 ansible 角色 首先执行以下操作docker login从容器注册表中提取映像之前 将其复制到 GCE 实例 由于提到的问题 我需要这样做here https stackoverflow com questions
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 使用 lineinfile 和 blockinfile 编辑文件还是仅使用模板复制整个文件?

    我开始使用 Ansible 编写一个剧本 为我们的应用程序部署临时环境 我试图了解对文件应用更改的最佳实践是否是在控制计算机上本地更改它们 然后将它们传播到远程服务器 或者是否应该在剧本内操作文件 通过剧本操作文件在可读性和文档方面似乎更好

随机推荐

  • redisTemplate分布式锁演变

    redisTemplate分布式锁演变 redission分布式锁实现 xff01 https blog csdn net xiaoxiaole0313 article details 118741039
  • 截图工具使用方式

    1 xff0c 鼠标右击创建一个文本文件 2 xff0c 重命名文件为 bat格式 3 右击选择编辑 xff0c 保存 4 双击文件打开 5 xff0c 点击模式可以选择截图类型
  • JVM优化相关命令

    一 性能调优 性能调优包含多个层次 xff0c 比如 xff1a 架构调优 代码调优 JVM调优 数据库调优 操作系统调优等等 架构调优和代码调优是JVM调优的基础 xff0c 其中架构调优是对系统影响最大的 二 何时进行JVM调优 遇到以
  • Java多线程

    一 xff0c 单 CPU 如何同时运行多个程序 假设我们同时开了多个程序 xff1a Word xff0c IE xff0c QQ xff0c Winamp xff0c 对于操作系统来说 xff0c 这意味着 有四个进程要同时运行 为了解
  • BW性能监控利器——ST13总结

    题记 xff1a BW 的小工具 xff0c ST13 xff0c 近来每每使用 xff0c 都颇有感慨 xff0c 故总结如下 xff0c 以备后用 1 Process Chain xff1a ST13 gt BW TOOLS gt Pr
  • IO字节流与字符流

    一 xff0c 字节流 1 xff0c InputStream OutputStream 下所有字节流的父类 xff0c 也就是在装饰模式中扮演 武器 这个角色的类 所有输入字节流的父类是 InputStream xff0c 所有输出字节流
  • CentOS7.6镜像下载

    一 xff0c 直接下载 https mirrors aliyun com centos vault 7 6 1810 isos x86 64 二 xff0c 官网下载 https www centos org download
  • Nginx支持quic协议及gcc版本升级

    第一种方式 xff1a Nginx官方nginx quic搭建 通过部署Nginx官方的QUIC分支来实现的浏览器和nginx quic服务器粗略的HTTP3通信 1 下载BoringSSL BoringSSL 是由谷歌开发 从 OpenS
  • Nginx添加自定义HTTP头字段

    nginx代码配置 以下配置的是https类型的监听器 xff0c 添加了多个proxy set header nginx常用变量https zhuanlan zhihu com p 619398840 在后端server节点上使用tcpd
  • Mybatis 和 Mybatis Plus 的区别

    Mybatis Plus Mybatis Plus是一个Mybatis的增强工具 xff0c 只是在Mybatis的基础上做了增强却不做改变 xff0c MyBatis Plus支持所有Mybatis原生的特性 xff0c 所以引入Myba
  • linux下备份一个目录下所有文件及目录

    一 关于Linux备份文件和应用的几个命令 xff1a tar和cp 在工作中 xff0c 经常来备份文件和系统应用 xff0c 常用到的主要是tar和cp命令 xff0c 分别介绍如下 xff1a 一 tar命令 xff0c 这个现在经常
  • linux服务器IO性能诊断

    1 在 Linux 服务器排查问题时 xff0c 一般会通过 top vmstat free netstat df h 等命令排查 CPU 内存 网络和磁盘等问题 有的时候我们需要更进一步了解磁盘 I O 的使用情况 基本命令 xff1a
  • 记 Ubuntu 19.04更改ip地址

    前言 从ubuntu从17 10开始 xff0c 已经不再在 etc network interfaces里配置IP xff0c 即使配置了也不会生效 xff0c 而是改成netplan方式 xff0c 配置写在 etc netplan 文
  • 批量安装centos7服务器

    利用PXE自动化安装centos7 前言 PXE的功能及原理 大概解释一下意思就是 xff1a 启动计算机的时候如果没有插入U盘以及光驱等介质的话 xff0c boot启动项是有一个从PXE启动的选项 xff0c 如果都没有则会从pxe启动
  • KairosDB 1.13安装手记

    PS xff1a 为了处理监控数据 xff0c 我们需要一个时间序列数据库 xff0c OpenTSDB是前驱 xff0c 但是是基于Hbase实现的 xff0c 后来有了一个基于Cassandra的实现 xff0c 就是KairosDB
  • Ubuntu 18.04 配置网卡聚合绑定与桥接

    Ubuntu 18 04 配置网卡聚合绑定与桥接 单网卡配置ip和多网卡配置ip 在之前的博客已经写过了 xff0c 这里写一下进阶的一些配置吧 Ubuntu 配置ip博客 xff1a https blog csdn net liuhaoy
  • ansible playbook 检查文件是否存在

    register 在ansible的playbook中task之间的相互传递变量 当我们需要判断对执行了某个操作或者某个命令后 xff0c 如何做相应的响应处理 xff08 执行其他 ansible 语句 xff09 xff0c 则一般会用
  • Ubuntu打开虚拟机报错could not open /dev/vmmon:?????? please make sure that the kernel moduel vmmon is load

    首先查看模块是否启动 etc init d vmware status 如果未启动使用start启动 etc init d vmware start 检查模块是否启动成功 etc init d vmware status 如果是网卡那一项f
  • linux 通过ip add 配置GRE隧道

    配置两台主机的 lo地址 xff0c 用来测试用 xff0c 如果不做gre的话 xff0c 互相是ping不同对方的回环地址的 注意环境是 主机1的ip xff1a 192 168 1 1 lo地址 xff1a 1 1 1 1 主机2的i
  • ansible-playbook debug输出区别与用法

    ansible playbook debug中var输出和msg输出的区别 msg xff1a 调试输出的消息 var xff1a 将某个任务执行的输出作为变量传递给debug模块 使用var的时候 xff0c 引用变量无需加上大括号 使用