Puppet 3 文件递归速度非常慢

2024-05-24

我在 Amazon Linux 2012.09 上使用 Puppet 3,我的清单之一设置并重新配置了一些目录。其中一项任务只是将文件夹所有者和组递归更改为另一个用户 - 然而,这需要 60 秒以上才能完成,并且目录中几乎没有任何内容 - 终端中的 chown myuser:myuser /var/lib/jenkins花费不到一秒钟的时间。

我的问题是:是否有更好/更快的方法在 Puppet 中递归地更改目录所有权?

Thanks

 file {'/var/lib/jenkins':
   ensure  => 'directory',
   owner   => myuser,
   group   => myuser,
   recurse => true,
   require => Package['jenkins'],
 }

我也看到了这种缓慢,这似乎是由于 Puppet 检查了下面的每个文件/var/lib/jenkins单独以确保它具有正确的所有者权限,这需要时间,因为下面有很多文件$JENKINS_HOME.

我在我们的 Jenkins 服务器上通过运行一个简单的程序来解决这个问题chown -R命令(与exec) 只要顶级目录不属于所需用户:

define modify_owner() {
  exec { "modify_owner_${title}" :
    command => "/bin/chown -R ${user}:${user} '${title}'",
    onlyif => "/usr/bin/stat -c %U '${title}' | grep '^${default_user}$'"
  }
}

modify_owner { ['/var/lib/jenkins', '/var/log/jenkins', '/var/cache/jenkins']: }

$user/$user是所有者/组组合 Iwant这些目录的所有者。这让我的傀儡时间回到了正常水平。

(Note: 我用了stat -c %U但您可能需要根据您的操作系统调整确切的格式选项。该命令打印了所有者的文本名称,并且在 Linux 上对我有用。)

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

Puppet 3 文件递归速度非常慢 的相关文章

  • 设备的临时协同设计在 Studio 中成功,但在 Jenkins 中失败

    我有一个支持 Android 和 iOS 的 Xamarin Forms 应用程序 我已经生成了 Jenkins 版本来编译它们 所有 Android 构建都可以工作 iOS 调试版本编译良好 然而 Ad Hoc 构建无法完全针对 iPho
  • 詹金斯管道如果其他不工作

    我正在创建一个示例詹金斯管道 这是代码 pipeline agent any stages stage test steps sh echo hello stage test1 steps sh echo TEST stage test3
  • jbehave 与 jenkins 的集成

    我必须将 jbehave 与 jenkins 集成 但我不知道该怎么做 我看到我必须在 Jenkins 中创建一个任务 但我不知道应该在哪里连接 jbehave 与此任务 有人可以帮助我吗 Thanks Sarang 所以我假设您已将 JB
  • Jenkins 管道阶段 - 传递整个文件

    运行包含多个节点的阶段的 Jenkins 管道 基于 Groovy 我需要将 stageA 上的 NodeA 上的某个文件的列表传递到 StageB 上的 NodeB 在 stageA NodeA 我运行 DEVenv readFile s
  • Jenkins 未显示 Maven 编译器错误

    在 Jenkins 中构建多模块 maven 3 项目时 如果出现构建错误 我们会收到一条神秘消息 表明 Maven 编译器插件失败 这在上周才刚刚开始发生 INFO BUILD FAILURE INFO INFO Total time 1
  • Jenkins sudo:不存在 tty,并且没有使用 NOPASSWD 指定的 Askpass 程序 [重复]

    这个问题在这里已经有答案了 我花了几天时间来设置文件 etc sudoers能够向用户授予 root 权限jenkins 我在我的服务器上安装了 Jenkins 因为我使用 symfony ionic neo4j 等托管多个项目 问题是我无
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br
  • 如何在 MultiJob 插件中传递内部版本号?

    The 多作业插件 https wiki jenkins ci org display JENKINS Multijob Plugin很棒 我想将它用于我的构建过程 但之前有一个问题必须解决 有三个作业 A B 和 C SVN 触发作业 A
  • 如何将用户输入密码与凭据密码进行比较

    我有一个脚本化管道 它使用以下命令请求用户的密码input函数并将其与用户保存的凭据密码进行比较 如果用户输入的是一个类型string然后就可以了 但是 当我将输入类型更改为password 因此当用户键入它时 它在屏幕上不可见 它会失败并
  • 在 docker run 中发布 8080:80 和 8080:8080 有什么区别?

    我正在尝试运行詹金斯容器 我使用 docker run restart always name myjenkins p 8080 80 jenkins 但无法访问 jenkinshttp 本地主机 8080 http localhost 8
  • 仅运行相应源代码已更改的单元测试?

    我正在 Jenkins CI 服务器中运行单元测试和 Selenium 测试 众所周知 在大型项目中测试需要很长时间才能运行 Java 是否有一个工具 框架只能触发其源代码已更改的测试 这是因为并非每次对 SCM 的提交都会影响源代码的所有
  • Jenkins 脚本化管道或声明式管道

    我正在尝试将旧式项目基础工作流程转换为基于 Jenkins 的管道 在经历的同时docs https jenkins io doc book pipeline 我发现有两种不同的语法名为scripted and declarative 比如
  • Jenkins 中的导出/导入作业

    两个不同的 Jenkins 之间可以交换工作吗 我正在寻找一种导出 导入作业的方法 可能使用 jenkins 命令行是另一种选择 请参阅https wiki jenkins ci org display JENKINS Jenkins CL
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • Jacoco 代码覆盖率在 Jenkins 上显示覆盖率为 0%

    我已阅读了类似问题的大部分答案 但没有一个适合回答我的问题 我的 pom 文件中的配置文件如下所示
  • Jenkins 上的 XCode 项目陷入“codesign”

    我使用 Jenkins 与 XCode 插件进行持续集成 有一个 Jenkins 坚持的项目 usr bin codesign force sign 接下来是旋转器 永远旋转 我以前从未见过这个 以前有人见过这个吗 是配置文件问题还是证书问
  • 来自 jenkins api 的节点标签

    有什么方法可以从 jenkins API 中提取节点标签吗 这standard https wiki jenkins ci org display JENKINS Remote access API base url computer no
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 如何从詹金斯管道获取所有参数(参数化构建)?

    我正在较新版本的 jenkins 中构建一个参数化管道作业 在较旧版本的 jenkins 中 我使用 getbinding getVariables 来检索所有参数 但较新的版本它返回空值 如何在新版本的詹金斯中检索参数 全部 您可以使用
  • Python jenkinsapi - 禁用/启用不工作的作业

    我正在尝试使用 禁用作业 詹金萨皮 https jenkinsapi readthedocs io en latest using jenkinsapi html example 3 disable enable a jenkins job

随机推荐

  • D3.js - 更改鼠标悬停时元素的不透明度 IF 条件 = false

    我正在制作一个带有过滤器的交互式 D3 js 图表 当用户单击选定的复选框时 该过滤器会显示点 此外 在鼠标悬停事件上 所选点旁边将出现一个弹出窗口 其中包含一些信息 由于图表上的点数量相对较多 因此我选择在取消选中相应复选框时使相关点变得
  • cellForRowAtIndexPath:未调用

    我的应用程序有两种状态 已登录和未登录 并且我有以下架构 大大简化 ViewController A 包含一个搜索框和一个表视图 ViewController B 用于登录应用程序 流程如下 用户未登录 A 被压入堆栈 在viewWillA
  • 连接到没有元数据的网络服务

    我想连接到此网络服务 https training api temando com schema 2009 06 server wsdl https training api temando com schema 2009 06 serve
  • Android 2.2 中不带预览的相机捕获

    我需要捕获图像而不显示预览 我想在后台作为服务来完成它 可以这样做吗 是有可能实现的 您应该定义一个处理 Camera 对象的类 例如调用 Camera open 等 不要为相机对象提供以下行以禁用预览 mCamera setPreview
  • 如何检测应用程序正在运行的 .NET 版本?

    我尝试使用Environment Version ToString 确定目标计算机上正在使用什么 NET 框架 但安装了 4 0 版本时 它说我正在使用 NET 2 0 如何检测目标计算机上正在运行的 NET Framework 版本 En
  • 如何让 STDOUT 和 STDERR 都转到终端和日志文件?

    我有一个脚本 将由非技术用户交互式运行 该脚本将状态更新写入 STDOUT 以便用户可以确定脚本运行正常 我希望将Stdout和STDERR重定向到终端 以便用户可以看到脚本正在工作 并查看是否存在问题 我还希望将两个流都重定向到日志文件
  • 更新实时智能合约

    如果我有一个智能合约 其中硬编码了一些其他智能合约的地址 例如 也许我的合约有一些外部流动性挖矿金库的地址 它会定期存入一些余额 现在假设我想更新该地址列表并迁移它而不扰乱当前合约的操作 最好的方法是什么 以太坊字节码是不可变的 所以简单的
  • 本地提交推送到中央服务器

    在工作中 我们使用 perforce 并被鼓励定期对其进行承诺 我对此很满意 然而 我想运行像 Mercurial 这样的东西 这样我就可以在本地提交正在进行的工作并且不一定编译 运行的东西 然后从中定期提交到中央 perforce 服务器
  • Matplotlib 渲染日期、图像的问题

    我在使用 conda forge 的 Matplotlib v 3 1 3 和 python 3 7 时遇到问题 我拥有 Matplotlib 所需的所有依赖项 当我输入这段代码时 它应该可以工作 我得到了泼溅艺术 它基于此 YouTube
  • 无法从 HBase 导出表

    我无法将表从 HBase 导出到 HDFS 下面是错误跟踪 它的尺寸相当大 还有其他方法可以导出吗 我使用下面的命令来导出 我增加了 rpc 超时但作业仍然失败 sudo u hdfs hbase Dhbase rpc timeout 10
  • 如何在JasperReport中插入分页符

    我有一个 JasperReports 模板 带有填充的细节带 如果我运行该报告 我的页数为 27 27 个详细信息行 我希望详细信息行号 12 以新页面开始 因此我必须在页数 11 之后插入分页符 但我找不到 pagebreak 元素 它在
  • WebCore::UserGestureIndicator::processingUserGesture 中的 EXC_BAD_ACCESS (SIGSEGV)

    我有一个使用 UIWebView 和 HTML5 websockets 构建的 iOS 应用程序 该应用程序经历了看似随机的崩溃 它发生在用户与其交互时以及在用户和应用程序之间没有发生交互的寿命测试期间 崩溃日志都有以下内容 Excepti
  • 如何有效地计算另一列中每个元素的较大元素的数量?

    我有以下内容df name created utc 0 t1 cqug90j 1430438400 1 t1 cqug90k 1430438400 2 t1 cqug90z 1430438400 3 t1 cqug91c 143043840
  • 如何将登录哈希 bcrypt 更改为 hash256

    我正在尝试更改 Laravel 中的哈希值 所以我在 RegisterController 中使用 salt 定制了 SHA256 注册完成但如何更改登录信息 protected function create array data sal
  • PostgreSQL 强制使用小写名称?

    刚刚开始通过C和libpq在linux上学习PostgreSQL 9 1 现在我检查连接 连接 创建数据库 创建表和其他基本内容 但我注意到在创建表期间 PQ 将我的数据库名称转换为小写 然后我看到表名和字段名也被强制小写 但是 当我尝试连
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜
  • 在 Android Studio 中打开上次关闭的选项卡

    我是 Android Studio 的新手 想知道是否有任何快捷方式 选项可以重新打开上次关闭的选项卡 没有分配快捷方式 但您可以轻松分配新的快捷方式 Go to IDE settings Keymap Main menu Window E
  • 如何运行 Mike Bostock 的 D3 示例?

    我一直在尝试经营迈克博斯托克透视地球仪 http bl ocks org mbostock 6747043例如 但是如果您尝试在本地重现它 则对其 json 文件的引用是不正确的 问题来自于这行代码 d3 json mbostock raw
  • 需要一个从 yaml 文件中提取内容并输出为 csv 文件的脚本

    我对 python 很陌生 但我很感激您帮助指导我创建一个简单的脚本 该脚本读取一堆 yaml 文件 同一目录中的大约 300 个文件 并从 yaml 文件并将其转换为 csv yaml 文件中内容的示例 code 9313 degrees
  • Puppet 3 文件递归速度非常慢

    我在 Amazon Linux 2012 09 上使用 Puppet 3 我的清单之一设置并重新配置了一些目录 其中一项任务只是将文件夹所有者和组递归更改为另一个用户 然而 这需要 60 秒以上才能完成 并且目录中几乎没有任何内容 终端中的