ansible debug模块详解

本文详细介绍了Ansible的debug模块,它用于在执行过程中打印语句,方便调试变量或表达式,不打断playbook执行。主要内容包括msg参数用于输出自定义消息,var参数用于调试变量,以及两个实用的示例,演示如何打印主机uuid和当前时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

This module prints statements during execution and can be useful for debugging variables or expressions without necessarily halting the playbook. Useful for debugging together with the ‘when:’ directive. This module is also supported for Windows targets.
ansible版本的print语句 可以输出变量的内容或者随意的字符串 利于playbook执行阶段的调试

常用模块

msg : The customized message that is printed. If omitted, prints a generic message. [Default: Hello world!]
输出定义好的meassage 如果没有message 默认输出Hello world!

var : A variable name to debug.Mutually exclusive with the msg’ option. Be aware that this option already runs in Jinja2 context and has an implicit {{ }}’ wrapping, so you should not be using Jinja2 delimiters unless you are looking for double interpolation.
输出变量的内容 不可与msg选项共用

示例

案例1: 打印所有主机的uuid

[root@control ~]# vi example1.yml
- hosts: all
  tasks:
    - name: example1
      debug:
        msg: 'System {{ansible_hostname}} has uuid {{ansible_product_uuid}}'
      when: ansible_product_uuid is defined
[root@control ~]# ansible-playbook example1.yml 

PLAY [all] **************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************
ok: [node1]

TASK [example1] *********************************************************************************************************************
ok: [node1] => {
    "msg": "System node1 has uuid b0b1eb64-bf83-4709-9721-ea107247278b"
}

PLAY RECAP **************************************************************************************************************************
node1                      : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0  

案例2:打印时间

- hosts: all
  tasks:
      - shell: /usr/bin/uptime
        register: result
      - debug:
          var: result
[root@control ~]# ansible-playbook example2.yml 

PLAY [all] **************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************
ok: [node1]

TASK [shell] ************************************************************************************************************************
changed: [node1]

TASK [debug] ************************************************************************************************************************
ok: [node1] => {
    "result": {
        "changed": true,
        "cmd": "/usr/bin/uptime",
        "delta": "0:00:00.006007",
        "end": "2020-07-12 23:24:39.517258",
        "failed": false,
        "rc": 0,
        "start": "2020-07-12 23:24:39.511251",
        "stderr": "",
        "stderr_lines": [],
        "stdout": " 23:24:39 up  2:38,  1 user,  load average: 0.06, 0.04, 0.00",
        "stdout_lines": [
            " 23:24:39 up  2:38,  1 user,  load average: 0.06, 0.04, 0.00"
        ]
    }
}

PLAY RECAP **************************************************************************************************************************
node1                      : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值