ansible debug模块学习笔记

摘要:
Ansibleplaybook可以组合多个命令来执行,但大多数时候我们需要从服务器接收反馈,因此调试模块非常重要。

ansible playbook可以将多个命令组合来执行,但是很多时候我们需要接收服务器的反馈,所以debug模块就非常重要了。

模块说明

调试模块,用于在调试中输出信息
常用参数:
msg:调试输出的消息
var:将某个任务执行的输出作为变量传递给debug模块,debug会直接将其打印输出
verbosity:debug的级别(默认是0级,全部显示)

例程:

- name: Print debug infomation eg1 
   hosts: test2 
   gather_facts: F 
  vars: 
    user: jingyong 
  tasks: 
  - name: Command run line 
    shell: date 
    register: result 
  - name: Show debug info 
    debug: var=result verbosity=0

程序是将命令date返回信息使用debug模块打印出来。

返回结果如下:

PLAY [Print debug infomation eg] *********************************************** 

TASK [Show debug info] ********************************************************* 
ok: [192.168.0.1] ={ 
"result": { 
"changed": true, 
"cmd": "date", 
"delta": "0:00:00.002400", 
"end": "2016-08-27 13:42:16.502629", 
"rc": 0, 
"start": "2016-08-27 13:42:16.500229", 
"stderr": "", 
"stdout": "2016年 08月 27日 星期六 13:42:16 CST", 
"stdout_lines": [ 
"2016年 08月 27日 星期六 13:42:16 CST" 
], 
"warnings": [] 
} 
} 
ok: [192.168.0.2] ={ 
"result": { 
"changed": true, 
"cmd": "date", 
"delta": "0:00:00.003847", 
"end": "2002-01-12 03:08:37.493383", 
"rc": 0, 
"start": "2002-01-12 03:08:37.489536", 
"stderr": "", 
"stdout": "2002年 01月 12日 星期六 03:08:37 CST", 
"stdout_lines": [ 
"2002年 01月 12日 星期六 03:08:37 CST" 
], 
"warnings": [] 
} 
} 

PLAY RECAP ********************************************************************* 
192.168.0.1 : ok=2changed=1unreachable=0failed=0   
192.168.0.1 : ok=2changed=1unreachable=0failed=0   

可以看到debug不光输出了date命令结果,还返回了很多相关调试信息,只需要date返回值,可以使用变量属性过滤 如:result.stdout 就是命令的返回值。

程序改成:

- name: Print debug infomation eg 
  hosts: test2 
  gather_facts: F 
  tasks: 
  - name: Command run line 
    shell: date 
    register: result 
  - name: Show debug info 
    debug: var=result.stdout verbosity=0
运行结果:
PLAY [Print debug infomation eg] *********************************************** 

TASK [Command run line] ******************************************************** 
changed: [192.168.0.1] 
changed: [192.168.0.2] 

TASK [Show debug info] ********************************************************* 
ok: [192.168.0.1] ={ 
"result.stdout": "2002年 01月 12日 星期六 03:16:26 CST" 
} 
ok: [192.168.0.2] ={ 
"result.stdout": "2016年 08月 27日 星期六 13:50:05 CST" 
} 

PLAY RECAP ********************************************************************* 
192.168.0.1  : ok=3changed=1unreachable=0failed=0   
192.168.0.2  : ok=3changed=1unreachable=0failed=0

免责声明:文章转载自《ansible debug模块学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高级正则实例SpringBoot 构造器注入、Setter方法注入和Field注入对比下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VC++ 定时器使用总结

VC++    WM_TIMER   定时器使用方法       在编程时,会经常使用到定时器。使用定时器的方法比较简单,通常告诉Windows一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。   1.1 用WM_TIMER来设置定时器   先请看SetTimer这个A...

消息队列之

      对于消息队列,应该都不陌生。市场上很多类型的消息队列,五花八门。选择自己适合场景的消息队列并不容易。如何选择呢?这篇文章不会很简单的对比所有的队列的优劣,会从消息队列的本身的方式与优缺点,让大家觉得需不需要使用消息队列。   消息队列的架构模式       消息代理定义:消息代理是一种架构模式,用于消息验证、变换、路由。调节应用程序的通信,...

1.kafka

什么是Kafka 1.Apache Kafka是一个开源消息系统,由Scala写成。 2.Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。 3.无论是kafka集群,还是cons...

RocketMQ消费者实践

  最近工作中用到了RocketMQ,现记录下,如何正确实现消费~ 消费者需要注意的问题 防止重复消费 如何快速消费 消费失败如何处理 Consumer具体实现 防止重复消费     重复消费会造成数据不一致等问题。所以,消费者要做到消费幂等。     1)每次消费,记录messageId;如果再次消费该message,查询messageId是否已...

小米公布2017二季度手机出货量:环比增长70%

新浪手机讯 7月7日下午消息,刚刚小米公司创始人雷军公布2017年第二季度手机出货量。根据数据显示,第二季度小米手机出货量2316万台,环比增长70%,创造了该品牌季度手机出货量的新纪录。   这一消息源自雷军在手机业务誓师大会上的发言。事实上此前就有相关业内人士给出过类似的推测,在6月中旬有消息称:小米二季度出货量会达到2300万台,预计三季度的出货量在2...

MFC的简单加法器(二)

   创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。鸡啄米在本节中先讲讲怎样创建对话框模板和设置对话框属性。        创建基于对话框的应用程序框架        之前鸡啄米创建的HelloWorld程序是单文...