Ansible 查找模块不排除搜索中的文件夹

2023-12-28

这是我尝试找到的剧本test-juli.jar under /app但是,我希望排除目录/app/Patchbackup从搜索到的文件夹。

以下是我的剧本:

  tasks:

    - name: Find test home directories under /app
      find:
        paths: /app
        file_type: any
        recurse: yes
        depth: 4
        patterns: 'test-juli.jar'
        excludes: 'log,tmp,.installation,Patchbackup'
      tags: always
      register: tomjarfound

    - debug:
        msg: "ALL LISTED REFINED JARS: {{ item.path }}"
      loop: "{{ tomjarfound.files }}"

当我运行上面的内容时,我期待着find找不到下/app/Patchbackup但输出显示,尽管被排除,但确实如此。

这是输出:

TASK [debug] ***********************************************************************************************************************************************************
ok: [10.0.0.11] => (item=/app/apache-test-9.0.10/bin/test-juli.jar) => {
    "msg": "ALL LISTED REFINED JARS: /app/apache-test-9.0.10/bin/test-juli.jar"
}
ok: [10.0.0.11] => (item=/app/Patchbackup/app/apache-test-9.0.10/bin/test-juli.jar) => {
    "msg": "ALL LISTED REFINED JARS: /app/Patchbackup/app/apache-test-9.0.10/bin/test-juli.jar"
}

您能否建议我如何排除该文件夹/app/Patchbackup从ansible的发现?


The find模块可能已损坏。这excludes参数仅适用于最终结果集中的项目,并且not到中间目录。

也就是说,如果您有这样的目录结构:

toplevel/
  foo/
    testfile1.txt
  bar/
    testfile2.txt

并来自父母toplevel您运行这样的任务的目录:

- find:
    paths: toplevel
    recurse: true
    excludes: foo
  register: results

您的结果集将如下所示:

  • toplevel/bar/testfile2.txt
  • toplevel/foo/testfile1.txt

将其与设置进行比较file_type: any, 像这样:

- find:
    paths: toplevel
    file_type: any
    recurse: true
    excludes: foo
  register: results

在这种情况下,结果集将如下所示:

- `toplevel/bar`
- `toplevel/bar/testfile2.txt`
- `toplevel/foo/testfile1.txt`

注意toplevel/bar包含在结果中,但是toplevel/foo被排除在外。那是因为:

  • We set file_type: any,这意味着我们想要查找目录和文件。
  • 这使得toplevel/foo结果集的一部分。
  • 我们从结果中排除任何带有基本名称的内容foo

如果您简单地使用,您将获得更灵活的行为find命令:

- name: exclude an intermediate directory with find command
  command: >-
    find toplevel -name foo -prune -o -type f -print
  register: result

这将返回以下项目:

  • toplevel/bar/testfile2.txt

我已经放置了上面的可运行版本在 github 上 https://github.com/larsks/so-example-63578783.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible 查找模块不排除搜索中的文件夹 的相关文章

随机推荐

  • 在 PHP 中设置多个 Cookie

    感谢您对此提供帮助 我有一个脚本检查登录然后设置一些cookie 正在设置 4 个 cookie 稍后我可能会将一些移动到服务器会话 但现在我正在使用 cookie 我遇到的问题是 在执行脚本的其余部分之前 仅设置了 4 个中的前 2 个
  • 如何在postgresql中禁用外键约束

    我正在使用 AWS Aurora Postgres 并使用 DMS 从 RDS postgres 迁移到 Aurora PG 为了执行完全加载 我想禁用所有对象上的外键约束和触发器 我能够禁用触发器 但找不到禁用约束的方法 下面不起作用 A
  • Eclipse Java 模板在重新启动时重置

    有一次我需要在控制台中输入大量文本 所以我将 sysout 模板更改为 System out println word selection cursor 代替 System out println word selection cursor
  • Appcelerator Titanium:CSS 宽度不适用于百分比

    我在 Appcelerator 中制作了一个 HTML 项目 我想要一个全屏画布 所以在 CSS 中我将属性设置为100 不带引号 我发现它不适用于 Appcelerator 我试过了 100 带引号和Ti UI SIZE两者的尺寸都采用奇
  • 如何在不复制的情况下从字符串流中获取字符?

    在不使用 boost 的情况下从字符串流中提取一组字符的正确 C 11 方法是什么 如果可能的话 我想在不复制的情况下执行此操作 因为使用它的位置是在关键数据循环中 不过 std string 似乎不允许直接访问数据 例如 下面的代码从字符
  • 在 Ruby 中,在字符串开头而不是末尾“咀嚼”最简单的方法是什么?

    在 Ruby 中 有时我需要删除字符串开头的换行符 目前我所做的如下 我想知道做到这一点的最佳方法 谢谢 s naaaa nbbbb s sub n lstrip似乎是你想要的 假设应保留尾随空格 gt gt s naaaa nbbbb g
  • 使用核心服务创建具有元数据字段的多媒体组件

    我正在使用核心服务创建多媒体组件 一切正常 但是 当我在创建多媒体组件的多媒体架构上定义元数据架构字段时 我会收到以下错误 无法找到http www tridion com ContentManager 5 0 DefaultMultime
  • 为什么我收到 CS1012:“字符文字中的字符过多”和 CS0019?

    当尝试将某些内容上传到 Imgur 时 我必须输入授权 我使用WebRequest Headers但这给了我三个错误 2次CS1012错误 字符文字中的字符过多 和 1 次 CS0019 错误 运算符 不能应用于 char 和 method
  • C#源代码中使用特殊字符(例如“ñ”)是否错误?

    最近 使用 C 我刚刚使用拉丁字符声明了一个方法参数 我尝试构建 编译 我的整个解决方案并且它有效 因此我能够执行我的程序 但我很好奇是否在用C 编写的源代码中使用拉丁字符等特殊字符是错误的吗 如果错了 为什么 除此之外还有更多legibl
  • “ClassificationDataSet”中的“target”有什么用?

    我试图找出参数是什么target of ClassificationDataSet可以用来 但我还不清楚 我尝试过的 gt gt gt from pybrain datasets import ClassificationDataSet g
  • 简单的索引优化

    我最近参加了一个简单的技能测试 我得到了反馈 有一个小的索引优化可以改善 表现 技能测试涉及创建生日电子贺卡在线应用程序 用户注册 然后在他们生日那天向他们发送一封电子邮件 我假设这是在一台运行 mysql 数据库的 Linux 服务器上
  • 如何通过 CloudBees Jenkins“立即部署”功能部署非 Web Java 应用程序?

    CloudBees 现在支持 Java 应用程序的部署 是否可以使用 Jenkins 中的 部署到 CloudBees 中的构建后操作来部署您的应用程序 此外 我想使用 Maven程序集插件的 jar with dependations h
  • Google Data studio 中的 COUNTIFS 函数

    我有两列 分别称为大陆和完成度 我想根据以下数据计算每个大陆的完成百分比 这是在 Excel 中使用 COUNTIFS 函数定义的 我们可以在数据工作室中实现这一目标吗 完成百分比公式为 已关闭 状态总数 状态总数 状态值为 开放 进行中
  • 迭代时从映射中删除键/值

    我正在创建这样的地图 def myMap 映射基本上是一个键的对象和一个值的整数 当我迭代地图时 我会计算该值 如果它是 0 我会将其删除 我已经尝试过了myMap remove 但我得到了ConcurrentModificationErr
  • 未知文件类型 MIME?

    如果上传的文件没有扩展名 是否必须指定 MIME 类型 换句话说 是否有默认的通用 MIME 类型 您可以使用application octet stream对于未知类型 RFC 2046 http www rfc editor org r
  • 如何忽略带有特定注释的方法的 checkstyle javadoc 警告

    当我有一个没有 javadoc 的公共方法时 Checkstyle 会发出警告 这很好 当我重写公共方法时 我没有收到警告 因为 javadoc 已在该方法的父类中可用 例如 现在我的方法有另一个注释 MyEvent 现在我确实收到了警告
  • 根据两个数字之间的差异多次插入图像。 PHP

    编写一个脚本 计算从 API 检索到的日期之间的差异 我希望它在图像中放入与差异一样多的次数 d1 new DateTime 2012 04 04 d2 new DateTime 2012 03 31 interval d1 gt diff
  • 为什么 null 需要在这里进行显式类型转换? [复制]

    这个问题在这里已经有答案了 以下代码无法编译 int a int b int a 0 a null 为了编译 需要改为 int b a 0 a int null 既然两者b null and b a是合法的 这对我来说没有意义 为什么我们必
  • 在运行剩余的 javascript 之前检查有效的电子邮件

    我有一个文本框 要求用户在其中插入有效的电子邮件地址 当用户提交有效的电子邮件地址时 会在回发数据时出现加载图形 下面的代码可以很好地显示加载图形 但它不会首先检查电子邮件地址是否有效 有人可以帮忙吗 btnEmail1Submit liv
  • Ansible 查找模块不排除搜索中的文件夹

    这是我尝试找到的剧本test juli jar under app但是 我希望排除目录 app Patchbackup从搜索到的文件夹 以下是我的剧本 tasks name Find test home directories under