Ansible 即席输出:如何用新行分割每个节点结果?

2023-12-01

在 Ubuntu 20.04 和 Ansible 版本 2.9 中,使用 Ansible ad-hoc 命令,例如:

ansible all -m shell -a "df -h" 

将打印像下面这样

app2 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  2.7G   50G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000
app1 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  2.7G   50G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000
db1 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  3.0G   49G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000

但我想要的是每个节点结果分割如下,带有新行的节点结果

app2 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  2.7G   50G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000

app1 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  2.7G   50G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000

db1 | CHANGED | rc=0 >>
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             215M     0  215M   0% /dev
tmpfs                233M     0  233M   0% /dev/shm
tmpfs                233M  6.3M  227M   3% /run
tmpfs                233M     0  233M   0% /sys/fs/cgroup
/dev/mapper/cl-root   52G  3.0G   49G   6% /
/dev/sda1           1014M  198M  817M  20% /boot
/dev/mapper/cl-home   26G  213M   26G   1% /home
tmpfs                 47M     0   47M   0% /run/user/1000

在 CentOS 8.4 中学习 Ansible 时,我从来没有关心过这个输出的事情。 但回到 Ubuntu 中我发现如果每个输出结果都粘在一起就很难查看。请帮我解决这个“麻烦事”。

My ansible.cfg

[defaults]
inventory = hosts.ini
interpreter_python  = /usr/libexec/platform-python

My inventory文件内容

# Application servers
[app]
app1
app2

# Database servers
[db]
db1 

# Group 'multi' with all servers
[multi:children]
app
db

# Variables that will be applied to all servers
[multi:vars]
ansible_user = vagrant
ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key

我希望所有这些细节可以帮助人们调试并为我找到正确的答案,非常感谢。


由于我有时根据任务有类似的要求,因此我使用以下方法:

ansible test --user ${USER} --ask-pass --module-name shell --args "echo 'Output format test'; echo ' ';"

导致输出为

test1.example.com | CHANGED | rc=0 >>
Output format test

test2.example.com | CHANGED | rc=0 >>
Output format test
 

换句话说,只需添加一个; echo ' ';在最后。

有关输出格式的更多信息可以在下面找到

  • 如何格式化 Ansible 输出
  • Ansible stdout格式化
  • 如何获取 JSON、CSV 或其他格式的 Ansible ad-hoc 命令的输出

类似问答

  • Ansible 临时任务:为了清楚起见,如何按主机分离输出?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible 即席输出:如何用新行分割每个节点结果? 的相关文章

  • Ansible Expect 模块无法匹配字符串/正则表达式脚本问题

    我正在尝试通过 Ansible 在 Vagrant 机器中自动安装脚本 我尝试了很多方法在网络上寻找解决方案 但文档和示例非常薄弱 我试图安装的脚本提示了我试图以编程方式回答的问题Ansible 期望模块 Ansible 任务 名称 运行
  • 在 R Markdown 中将数据框显示为表格

    In knitr我想使用 kable 包添加一个 小 数据框作为表格 output html document r knitr kable mtcars 1 5 1 5 format html 这将返回一个如上所述的紧凑表 同时将其更改为f
  • 从 Python 轻松编写格式化 Excel:从格式化 Excel 开始,在 Python 中使用它,然后从 Python 重新生成 Excel

    我必须从 Python 创建格式良好的 Excel 电子表格 我想通过以下方式做到这一点 我从 Excel 开始 因为它很容易格式化 我在 Excel 中编写 我想要的型号 格式良好 我从 Python 中读到了这个 我从 Python 创
  • 用于下载文件的 S3 模块在 ansible 中不起作用

    这是为从 S3 存储桶 artefact test 下载文件而编写的 ansible 代码 name Download customization artifacts from S3 s3 bucket artefact test obje
  • 在 ansible 角色中引用 defaults/main.yml 中的变量

    我的角色设置如下 角色 测试 任务 main yml name Generate people files template src test j2 dest tmp item name cfg loop people 角色 测试 模板 t
  • 保持java套接字打开?

    我正在制作一个会自动更新的程序 游戏 我有更新部分 但没有检查版本 我本以为这会很容易 这就是我所做的 我为游戏编写了一个更新程序 并且编写了一个服务器 每次客户端 更新程序连接时 服务器都会启动一个线程 线程处理一切 游戏更新程序读取一个
  • 读取和打印手臂组件中的字符串

    我正在使用 ARMSim 刚刚开始学习汇编 所以如果我看起来一无所知 请原谅我 但我正在尝试从输入文件中读取字符串 然后将其打印到输出屏幕 到目前为止我有 equ SWI Open 0x66 open a file equ SWI Clos
  • Cygwin - 如何安装 ansible?

    如何使用 Cygwin 获取 安装 ansible 我尝试了以下步骤 但在第 5 条期间 运行时 python setup py 安装 步骤取自 取自https servercheck in blog running ansible wit
  • 使用 ansible SSH 到远程服务器

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

    我只想在大小大于特定大小时删除文件夹 不幸的是我无法达到想要的结果stat module Attempt hosts pluto tasks stat path home ik thunderbird register folder nam
  • 如何将批处理变量设置为另一个脚本的输出

    我尝试将批处理变量设置为另一个命令的输出 在 Linux Unix 中 您可以简单地使用反引号 例如 在 csh 中 set MY VAR tail etc passwd windows 批处理中有类似的东西吗 实际上我已经发现了一些东西
  • 可基于多列格式化

    我正在使用该包formattable生成格式化表格 我发现了一个不错的资源在 R 中设置表格格式 http www r bloggers com formatting table output in r 但这里的箭头格式示例仅基于特定列 我
  • 为什么 strcat() 之后字符串会被改变?

    这是源代码 int main char str dance char str1 hello char str2 abcd strcat str1 str2 printf s str output bcd why str更改后strcat s
  • Ansible 循环直到条件匹配。

    我想进行一系列 API 调用 每次调用后检查结果中的特定参数 如果它大于特定值 则将其保存在寄存器中并继续进一步执行剧本 基本上 我正在对 RHEV 进行 API 调用来检查存储域 然后我想检查存储域是否有足够的空间 如果有 则将该存储域i
  • 格式化 XmlGregorianCalendar 时区问题

    我需要将 java XmlGregorianCalendar 格式化为 yyMMdd 字符串 我的实现 XMLGregorianCalendar date getDate getting the date if date null Simp
  • java格式化表格输出

    所以我正在尝试格式化我的输出 System out println Menu nItem tItem t tPrice tQuantity for int i 0 i
  • 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
  • 如何将序列化的 JSON 视图数据输出为对象数组,而不是包装在外部对象中?

    我正在将 CakePHP 数组的返回值转换为 JSON 目前如下 platformusers id 1 name user1 id 3 name user3 我希望它是这样的 id 1 name user1 id 3 name user3
  • 如何在 Xamarin.Mac 中执行终端命令并读入其输出

    我们正在编写一个 Xamarin Mac 应用程序 我们需要执行像 uptime 这样的命令 并将其输出读取到应用程序中进行解析 这可以做到吗 在 Swift 和 Objective C 中都有 NTask 但我似乎无法在 C 中找到任何示

随机推荐

  • C# 区分拖放和鼠标点击

    我有一个允许放置的表单 而且我还需要捕获单击事件 这里棘手的部分是当用户将对象拖放到表单上时 MouseClickEvent也被解雇了 因为他也点击了鼠标来释放水滴 我如何在单独的事件触发器中处理每个事件 提前致谢 这是一个简短且更具逻辑性
  • 大型 3D 数组上的快速 1D 线性 np.NaN 插值

    我有一个 3D 数组 z y x with shape 92 4800 4800 其中每个值沿axis 0代表不同的时间点 在某些情况下 时域值的获取失败 导致某些值被np NaN 在其他情况下 没有获取任何值 并且所有值都已获取z are
  • 为什么我不能限制一个概念[重复]

    这个问题在这里已经有答案了 不允许这样约束一个概念 template
  • Google 电子表格中查询中的动态工作表名称

    在 Google 电子表格中 我想查询另一个工作表中的数据 但问题是工作表的名称存在于单元格中 那么 QUERY 函数中有没有一种方法可以动态提及工作表名称 基本上我正在尝试做类似的事情 但使用动态工作表名称 QUERY 2012 A2 F
  • 使用 TLSv1.2 和前向保密的 Python Paste SSL 服务器

    对于 Mac OS X 上的 Python 应用程序 我需要设置一个具有 TLSv1 2 前向保密且没有 RC4 密码的 HTTPS 服务器 使用 Paste 和 pyOpenSSL 我编写了以下代码 from paste import h
  • apache2、mod_wsgi、python Web 应用程序(bottle 框架)

    注 我猜瓶子框架与这里无关 WSGI 是 我已经成功配置我的 apache 来使用 wsgi 和基于 python Bottle 框架的单文件 Web 应用程序 下面的文件是我现在得到的 apache 使用 virtualenv 并运行一个
  • 计算不同文件扩展名的熵以查找数据的随机性?

    我有不同的文件类型 包括 JPEG 和 jpg mp3 GIF MP4 FLV M4V exe zip 等 以块为单位获取数据 例如 4k 块大小 找到随机性 生成 0 到 1 之间的随机性分数 尝试根据随机性分数来分类 我们怎样才能找到上
  • 通过经过身份验证的 HTTP 代理建立 TCP 连接?

    我所在的网络要求我通过经过身份验证的 HTTP 代理进行连接才能访问网络外部的任何内容 我需要做的基本上是制作一个socket 或同等方式 连接到互联网 但通过代理发送所有数据 而不是尝试直接发送 关于如何做到这一点有什么想法吗 由于我没有
  • Spring 自动装配...将源类传递给自动装配类

    陷入了一个奇怪的要求 我需要将唯一的错误 ID 附加到 log4j 消息并将该消息 ID 返回到接口 所以 我虽然让我们创建一个 Spring 服务 如下所示 public class LoggingService protected st
  • Web Api 不会使用 jQuery Ajax 和基本身份验证下载文件

    我正在使用 ASP NET Web API 构建 Web 服务 和站点 的原型 该原型具有下载文件的方法 当前端用户按下导出按钮时 控制器会发出并接收 jQuery ajax GET 请求 而控制器又会调用名为 Excel 的方法 如下所示
  • 扩展号码类别

    我想扩展数字类以具有实例函数 例如odd and even所以我可以做这样的事情 2 odd gt false 2 even gt true 1 even gt false 1 odd gt true 扩展类是一种很好的 Ruby 实践 R
  • ANTLR:通过stringtemplate将修改后的AST翻译成java源代码

    我使用 Java g 中的语法ANTLRwiki 为 Java 源文件生成词法分析器和解析器 然后使用以下代码生成抽象语法树 AST ANTLRInputStream input new ANTLRInputStream new FileI
  • 重命名 React Native 项目?

    是否有关于重命名 React Native 项目需要更改哪些内容的说明 我有一个名为 MyAppIOS 的应用程序 我想将其重命名为 MyApp 现在 Android 支持已结束 您可以更改名称属性package json run reac
  • 如何从 shell 获取有关 Android shell 中可用命令的信息?

    找不到有关如何在 shell 中打印 Android shell 命令文档的信息 类似的东西 help ls 大多数 如果不是全部 命令行工具的命令帮助已被删除 我唯一能告诉您的是如何了解所有工具的功能 或者更好地在哪里可以找到源代码并查看
  • QT IOS 链接器错误入口点 (_main) 未定义

    我目前正在尝试在 IOS 上编译一个基于 QT 的项目 我正在使用 cmake 创建和配置 xcodeproject 和 xcode 以在设备上运行应用程序 我成功删除了之前的所有链接器错误 现在我正在处理入口点 我的 main cpp 看
  • FFmpeg制作mpeg2 ts而不中断

    我有很多用 iPhone 录制的 MOV 文件 我想将它们转换为 mpeg2 TS 我想使用它们通过 HTTP Live Streaming 协议进行实时视频流 我将 iPhone 设置为连续发送 MOV 文件到服务器 每个视频片段时长 5
  • MySql 检查外键约束是否存在

    如果我有 create table order items orderid int unsigned not null references orders orderid isbn char 13 not null quantity tin
  • Knockout 可观察对象可以是绑定到单选按钮值的数据吗?

    是否可以使用值绑定将 Knockout 可观察属性绑定到单选按钮 这就是我想要做的 但该值最终是字符串 Object object 而不是我的可观察属性的实际实例
  • TradingView 小部件替换整个 HTML 主体

    尝试添加交易视图小部件进入我的网站 当用户使用时必须加载此小部件select下拉菜单中的选项 Issue 小部件加载 但它替换了正文中的所有内容 因此下拉菜单消失 Example HTML 代码
  • Ansible 即席输出:如何用新行分割每个节点结果?

    在 Ubuntu 20 04 和 Ansible 版本 2 9 中 使用 Ansible ad hoc 命令 例如 ansible all m shell a df h 将打印像下面这样 app2 CHANGED rc 0 gt gt Fi