首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Ansible输出中提取路径并在我的剧本中的其他地方使用它?

Ansible是一种自动化工具,用于配置和管理计算机系统。它使用剧本(Playbooks)来定义任务和配置,可以在多个主机上同时执行。在Ansible的输出中提取路径并在剧本的其他地方使用它,可以通过使用Ansible的变量和过滤器来实现。

首先,我们需要在剧本中执行一个任务,该任务会生成一个输出,其中包含我们想要提取的路径。可以使用Ansible的shell模块或command模块来执行命令,并将输出保存到一个变量中。例如:

代码语言:txt
复制
- name: 执行命令并保存输出
  shell: ls /path/to/directory
  register: command_output

在上面的示例中,我们执行了一个命令ls /path/to/directory,并将输出保存到变量command_output中。

接下来,我们可以使用Ansible的过滤器来提取路径。Ansible提供了一些用于处理字符串的过滤器,例如splitregex_replace。我们可以使用这些过滤器来提取路径。例如:

代码语言:txt
复制
- name: 提取路径
  set_fact:
    extracted_path: "{{ command_output.stdout_lines[0] | regex_replace('^.*:', '') }}"

在上面的示例中,我们使用了regex_replace过滤器来提取路径。command_output.stdout_lines[0]表示输出的第一行,^.*:表示匹配行中的所有内容直到冒号为止,然后使用空字符串替换。

现在,我们可以在剧本的其他地方使用提取的路径。可以将路径存储在一个变量中,并在需要的地方引用它。例如:

代码语言:txt
复制
- name: 使用提取的路径
  debug:
    msg: "提取的路径是 {{ extracted_path }}"

在上面的示例中,我们使用了debug模块来打印提取的路径。

综上所述,通过使用Ansible的变量和过滤器,我们可以从Ansible的输出中提取路径并在剧本的其他地方使用它。这样可以实现更灵活和动态的配置和管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用 Ansible 管理你工作站配置

在本系列将向你展示如何通过 Ansible 自动化你工作站设置,如果你想要或需要重新安装你机器,这可以让你轻松恢复整个配置。...更喜欢 Ansible,因为它在资源利用方面更轻量级,语法更容易阅读,并且如果正确使用它可以彻底改变你配置管理。...ansible-pull 命令是 Ansible 一个命令,允许你 Git 仓库下载配置并立即应用它。...将你工作目录切换到仓库(例如 cd ./ansible),并在你喜欢文本编辑器创建名为 local.yml 文件。...在输出结束时,它将概述它做内容。如果 htop 安装正确,你应该在输出最后一行看到 changed = 1。 它是如何工作呢?

84620

学习如何安装Ansible和运行Playbooks

Ansible是一个有用工具,允许您创建计算机组,描述应如何配置这些计算机或应对其执行哪些操作,并从中心位置发出所有这些命令。它使用SSH,因此无需在您要定位计算机上安装任何内容。...这是Ansible库存文件发挥作用地方。 默认情况下,库存文件应该是/etc/ansible/hosts。如果该路径和文件尚不存在,请创建该路径和文件。...如果您正在运行OS X,您可能想在其他地方创建自己Ansible目录,然后在Ansible配置文件设置路径: mkdir ~/Path/To/ansible touch ~/Path/To/ansible...all -m ping 对于hosts文件每个服务器,您应该收到与以前相同输出。.../ etc / ansible /主机1 2 [linode] 123.123.123.123 编写一个创建新普通用户剧本,添加我们公钥,并将新用户添加到sudoers文件

4.8K10

如何在Ubuntu 14.04上使用Ansible部署多个PHP应用程序

正如我们之前看到Ansible提供了可以在任务定义和文件模板中使用变量。我们还没有看到如何手动设置变量。...在你剧本顶部,除了旁边hosts和tasks参数,你还可以自己定义一个vars参数,并在那里设置变量。 如果您还没有这样做,请以前教程中学习并将目录更改为ansible-php。...当你考虑文件路径和变量时会出现复杂性,因为在某些用途中我们需要考虑文件名,甚至因为新文件而运行其他命令。 对于Nginx,我们需要为每个应用程序创建一个新配置文件,并告诉Nginx应该启用它。...通过此步骤更改,我们应该完成单个应用程序手册到多个应用程序手册转换。 第7步 - 添加更多应用程序 在这一步,我们将在我们剧本配置另外两个应用程序。...保存剧本,然后运行它: ansible-playbook php.yml --ask-sudo-pass 即使我们已将变量我们playbook移动到我们宿主文件,输出应该看起来完全相同,并且Ansible

8.6K00

Ansible部署ELK STACK

作者:Daniel Berman 译者:张斌 想要重复部署你ELK STACK更方便一点?在这篇帖子,我们来看看如何通过使用Ansible来实现这一点。 通常,安装ELK很容易。...本文介绍如何使用Ansible 剧本在远程服务器上设置ELK(5.x版本)进行开发。它将带你完成安装Ansible步骤,连接到目标服务器,执行该剧本,并建立初始日志流水线。 让我们开始吧!...将各类事项列在这里,Ansible将通过此文件设置顺序来执行角色。 目前该剧本配置是搭建ELK STACK和Metricbeat,以便进行服务器监控。...”选项卡显示数据: 使用这本剧本来跟进和使用Elasticsearch、Logstash、Kibana和各种Beats最新功能。...Logz.io是一个基于开源ELK STACK支持AI日志分析平台,可用于监控应用程序和云基础设施。今天就开始免费试用它或者要求免费演示吧!

1.5K50

Ansible 自动化系统管理员 5 个日常任务

如果你讨厌执行重复性任务,那么有一个提议给你,去学习 Ansible! Ansible 是一个工具,它可以帮助你更轻松、更快速地完成日常任务,这样你就可以更有效地利用时间,比如学习重要新技术。...本文提供了一些系统管理员可以使用 Ansible 自动化日常任务例子。把本文中剧本和角色放到了 GitHub 上 系统管理员任务仓库 ,以方便你使用它们。...这些剧本结构是这样注释前面有 ==>)。...==> 包含目标服务器列表清单文件 │ └── host_vars ├── LICENSE ├── playbooks ==> 包含我们将在本文中使用剧本目录 │ ├── c_logs.yml...Ansible 使你能够在更少时间内做更多事情,这样你就可以将时间花在更令人兴奋项目上,而不是做重复任务,如管理你事件和问题管理流程。

93310

【13】进大厂必须掌握面试题-配置管理面试

除了将处理时间从一周减少到10分钟之外,还使用了角色和配置文件模式,并在README记录了每个模块用途,以确保其他人可以使用Git更新该模块。...编写模块仍在使用,但是队友和社区成员对它们进行了改进 Q9。您使用哪些开放源代码或社区工具来增强Puppet功能? 在这里,您需要提及这些工具以及如何使用这些工具使Puppet更加强大。...您可以在Puppet Master编写清单,以创建文件并在连接到Puppet Master所有Puppet代理(站)上安装apache。 Q11。 什么是Puppet Module?...模块指导属性之一是幂等,这意味着即使多次重复操作,例如从中断恢复,它将始终将系统置于相同状态。 Q19。什么是Ansible剧本剧本Ansible配置,部署和编排语言。...如何查看所有ansible_变量列表? 默认情况下,Ansible收集有关所管理机器“事实”,并且可以在Playbook和模板访问这些事实。

1.1K10

如何在Ubuntu 14.04上使用Ansible部署高级PHP应用程序

由于默认Laravel安装不需要我们将在本教程设置高级功能,因此我们将现有存储库标准存储库切换到添加了一些调试代码示例存储库,只是为了显示何时工作正常。...一种方法是在本地生成密码并将其保存在我们Ansible playbook,但这是不安全,并且有更好方法。 我们将在服务器上使用Ansible生成密码,并在需要地方直接使用。...我们还会告诉Ansible记住命令输出(即密码),以便我们稍后可以在我们剧本中使用它。但是,因为Ansible不知道它是否已经运行了shell命令,所以我们还会在运行该命令时创建一个文件。...Laravel附带默认调用名为schedule:runArtisan命令,该命令旨在每分钟运行并在应用程序执行定义计划任务。...这是一种非常简单易用方法,使您无需学习如何配置和使用其他工具。 考虑到所有这些,我们将创建另一个cron任务来运行我们队列工作者。

10.7K60

实战RHCA-DO407(1)

配置文件,如下所示: 3.1主机库存文件/home/student/ansible/inventory 3.2剧本角色位置被定义为/home/student/ansible/roles 练习环境在.../packages.yml剧本 在dev、test和prod主机组主机上安装php和mariadb包 将开发工具包组安装到dev主机组主机上 在dev主机组主机上更新所有包到最新版本 解答 1...research这个卷组不存在,则输出错误消息:不存在 解答 1.创建一个research卷组,默认不存在,需要自己去创建 一个一个去所有主机上去创建 2.编写剧本文件 [student@workstation...vda size device vdb size 输出文件每一行都包含一个键值对你剧本应该: 1)....: 2.2.1在prod主机组托管节点上创建 2.2.2pw_manager变量中分配密码 2.2.3都是属于opsmgr组成员 密码应该使用SHA512哈希格式 你剧本应该使用保险库密码文件在其他地方创建这个考试

7.6K72

Ansible之 AWX 启用facts缓存和模板问卷调查

通常,每个剧本都会在执行第一个任务之前自动运行setup模块,以便剧本主机模式匹配托管主机收集事实。...一个 Playbook 可以为清单所有主机收集事实并缓存这些事实,以便后续 Playbook 可以在不收集事实或手动运行 setup 模块情况下使用它们。...只有有效且未过时事实才会被 playbook 访问。注意,这不会影响数据库删除 ansible_facts。默认值设置为0,使用 0 值表示不应用超时。...以下步骤演示如何在 AWX 启用事实缓存: 单击左侧导航栏 Templates。 选择适当作业模板,再单击其名称以编辑设置。...测试输出 我们输入数据 博文参考 《DO447 Advanced Automation Ansible Best Practices》

1.1K30

Ansible使用CallBack插件分析Playbook执行性能

Ansible提供了CallBack插件来处理playbook回调事件。我们可以通过回调插件分析剧本资源利用率、消耗时间,从而优化剧本。...(Ansible 回调也同样基于剧本生命周期方法实现) 粗粒度编程思想理解,类似面向切面编程(AOP),把代码执行逻辑块之间连接点看做是一个个切入点,把一些不重要,但是需要东西做成切面,在必要时织入到逻辑块内...那么在Ansible通过CallBack插件调整对各种事件响应来扩展 Ansible。其中一些插件也会修改命令行工具(如ansible-playbook 命令)输出,以提供额外信息。...可以看到,这个插件用于将总play执行时间添加到当前play最后输出。来简单看一下怎么实现。...自定义一个callBack插件 上面的都是社区或者官方一些插件,下面我们看看如何自己编写一个插件 这里我们做一个简单Demo,所以这个插件功能就是在剧本执行完,在浏览器打开博客,………… #

1.5K30

Ansible高级用法(运维开发篇)

ansible配置 ansible是python一套模块,系统一套自动化工具,可以用作系统管理,自动化命令等任务 ansible优势 # 1.ansible是python一套完整自动化执行任务模块...我们最先展示并非那强大集配置,部署,自动化于一身playbook.而是如何初始化. 远程连接概述 在我们开始前要先理解Ansible如何通过SSH与远程服务器连接是很重要....’模式能够反转主控关系并使远程系统通过定期从中央git目录检出 并 拉取 配置指令来实现背景连接通信 第一条命令(公钥认证) 我们已经安装ansible了,第一件事就是编辑或者创建/etc/ansible.../hosts并在其中加入一个或多个远程系统,我们public SSH key必须在这些系统authorized_keys...什么是roles 是一种利用在大型playbook剧本配置模式,在这自己特定结构 为什么需要用到roles 和面向对象开发思想相似 利用于大型项目任务,尽可能将公共任务,变量等内容独立

3.5K52

深入了解 Ansible:全面掌握自动化 IT 环境利器

本文以详尽篇幅介绍了 Ansible 方方面面,旨在帮助读者入门到精通。无论您是初学者还是有一定经验 Ansible 用户,都可以在本文中找到对应内容,加深对 Ansible 理解和应用。...愿本文能成为您在 Ansible 自动化旅程良师益友! 1. 引言 在当今复杂 IT 环境,自动化变得愈发重要。...通过配置文件,可以设置 SSH 连接参数、模块路径、日志等。...5.2.8 使用注册变量 利用 Ansible 注册变量功能,可以在一个任务执行命令,并将输出保存到变量,然后在后续任务中使用这些变量。这样可以实现任务之间信息传递和数据共享。...结语 通过本文学习,您应该已经对 Ansible 有了深入了解,并掌握了如何使用 Ansible 进行自动化管理基础与进阶技巧。

34510

【企业技术架构】企业自动化是下一代架构吗?

可以将企业自动化视为整个企业许多 IT 自动化项目的整合。但是,自动化实现真正价值唯一方法是协调和整合这些战术项目以实现战略目标。...应用程序、基础设施和数据库可能合法地需要提升权限。创建一个标准编码流程,允许机密管理存储库中提取这些凭证并在多个自动化运行安全使用,这是一个非常需要集成点。...作为新兴 IT 自动化事实语言,Ansible 集合、角色和剧本在互联网上激增。其中许多可通过诸如galaxy.ansible.com 等社区网站获得。但是这些社区开发剧本管理得如何?...我们有一个组织和团队结构,允许主题专家 (SME) 获得他们需要访问权限,以便在 Ansible 剧本编写他们流程,并将它们作为工作模板分发给企业。...我们提供这些服务以帮助组织计算 Ansible 自动化平台投资潜在成本节约。 结束 在这篇文章一个目标是解决自动化应该被视为一项战略举措这一点。

32610

Ansible自动化运维学习笔记1

正如其他配置管理工具一样,ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复工作。 比如:同时在100台服务器上安装nginx服务,并在安装后启动它们。...(剧本) 描述:将我们前面所学到模块知识点应用到工作场景,进一步理解与使用ansible 剧本yml语法 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机执行如下...”,’剧本英文名称为’playbook’,我们只需要将要做事情编写成playbook,把不同模块按照顺序编排在剧本ansible就会按照剧本一步一步执行,最终达到我们目的,虽然playbook...那么我们打个比方,一个'剧本'是由一个或多个'桥段'组成,每个桥段都有不同场景、人物、故事,所有的桥段组合在一起,组成一个完整剧本剧本就是playbook桥段就是play;当然’桥段’只是自己为了方便理解给...假设我们想要将nginx某个server端口8080改成8088,并且在修改配置以后重启nginx,那么我们可以编写如下剧本

4K31

如何在Ubuntu 14.04上使用Ansible部署基本PHP应用程序

在本教程,我们将创建一个本地hosts文件并使用它。我们可以通过在工作目录创建一个新Ansible配置文件来完成此操作,我们可以使用它来告诉Ansible在同一目录查找hosts文件。...创建一个新目录(我们将在本教程其余部分使用它)。 mkdir ~/ansible-php 进入新目录。...版本1.9.1错误 Ansible版本1.9.1存在一个错误,它阻止了php5-fpm我们在处理程序中使用service模块重新启动。...注意: Ansible composer模块某些版本似乎存在错误,它可能会输出OK而不是Changed,因为它忽略了即使没有安装依赖项也会执行脚本情况。 打开php.yml文件进行编辑。...结论 本教程介绍如何使用公共存储库部署PHP应用程序。虽然它非常适合学习Ansible如何工作,但您并不总是使用开放存储库来处理完全开源项目。

5.9K00

使用 Ansible 来管理你工作站:配置自动化

学习如何使 Ansible 自动对一系列台式机和笔记本应用配置。 Ansible 是一个令人惊讶自动化配置管理工具。...在这个系列第一部分,向你展示了 ansible-pull 命令基本用法,我们创建了一个安装了少量包剧本。它本身是没有多大用处,但是为后续自动化做了准备。...当 ansible-pull 执行时候,它将会遍历剧本和任务手册所有任务,但至少它不会毫无目的运行。...在第三部分,我们将通过介绍使用 Ansible 来配置 GNOME 桌面设置来结束这个系列。将会告诉你如何设置你墙纸和锁屏壁纸、应用一个桌面主题以及更多东西。...现在你可以尝试通过我们在使用 Ansible 库来自动复制这些配置到你机器。在这篇文章已将向你展示了如何去复制文件,所以去尝试以下看看你是都已经能应用这些知识。

53810
领券