如何确定目录中的任何文件是否已更改

2023-12-10

Chef 有没有办法确定它是否更改了给定目录中的任何文件?如果conf.d 目录中的任何设置被更新,我想重新启动服务器进程。

我确信可以在每次厨师客户端运行时将 md5sum 列表写入文件,并将当前迭代与之前的迭代进行比较。但这是解决常见场景的相当多的代码。有没有更好的办法?


Chef提供了一个概念,叫做通知.

这允许您定义一个资源的更改会触发另一资源的执行。所提到的配置文件更改后重新启动服务可能是最常见的用例。

template "/etc/foo/conf.d/example.conf" do
    notifies :restart, "service[foo]"
end

service "foo" do
    supports :restart => true, :reload => true
    action :enable
end

默认情况下,通知是:delayed,这意味着它们在 Chef 运行结束时被触发。这可以帮助您避免例如每个更改的配置文件都会重新启动一次服务。如果您想立即收到通知,请使用

notifies :restart, "service[foo]", :immediately

当然,您不仅可以将 Chef 的通知用于服务,还可以用于任何资源。更多示例在文档.

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

如何确定目录中的任何文件是否已更改 的相关文章

  • 厨师食谱在 ohai 未定义方法“[]”上失败,因为 nil:NilClass

    我正在编写一本厨师食谱 在我的流浪盒子上设置一个带有 nginx postgresql 和 unicorn 的普通 ubuntu 12 04 2 但是我遇到了 nginx 的麻烦 有一个例外 undefined method for nil
  • 向测试厨房添加属性

    我正在尝试覆盖中的属性java食谱与测试厨房 当我尝试跑步时kitchen converge default centos 64 出现严重的 YAML 错误 driver name vagrant customize memory 1024
  • 使用 Chef 在 Windows 节点上挂载 Windows 共享

    我正在尝试将文件从 Windows 共享复制到我的节点的缓存 显然没有办法从remote file 做到这一点 所以我的替代想法是尝试将Windows 共享安装到本地驱动器并通过文件资源访问我需要的文件 然而 即使 Chef 告诉我挂载成功
  • 如何将厨师食谱中的一种资源的价值传递到另一种资源?

    我正在尝试更改一个资源中的属性 并希望在另一资源中使用更新后的值 但更新后的值未反映在另一资源中 请帮我 Code node oracle asm disks each key do disk Chef Log info I am in c
  • 如何在厨师中运行具有依赖项的食谱?

    我已经配置了工作站这一步开始使用 操作系统 redhat 6 5 我已经启动了一个节点 我这样修改了一本食谱 myCookbook metadata rb name myCookbook maintainer YOUR COMPANY NA
  • 厨师食谱中使用了哪些 ruby​​ 功能?

    我刚开始使用 Chef 对 ruby 不太了解 我无法理解食谱中使用的语言语法 比如说 我在食谱中的recipes default rb 中创建一个目录 如下所示 directory home test mydir do owner tes
  • Chef apt_repository 开始失败并出现 SSL 验证错误

    从过去 2 天开始 我们开始看到与 apt repository 资源相关的 Chef 执行失败 厨师 客户执行也遇到了类似的失败 主厨独奏版本 12 19 36 操作系统 Ubuntu 14 中的 Ubuntu v18 请参阅 Chef
  • 有没有办法将资源的属性解析延迟到“执行”阶段?

    我有两个 LWRP 第一个涉及创建磁盘卷 对其进行格式化并将其安装在虚拟机上 我们将此称为资源cloud volume 第二个资源 它的作用并不重要 需要新格式化卷的 UUID 这是必需的属性 我们将调用此资源foobar 资源cloud
  • Java JDK静默安装指定路径

    我想以静默模式 实际上是使用Chef 安装指定版本的JDK 我的问题是 当我添加 INSTALLDIR 参数时 Java JDK 安装失败 如果没有它 JDK 将安装在默认目录中 C 程序文件 Java or C 程序文件 x86 Java
  • Vagrant:未知配置部分“omnibus”,但已安装 vagrant-omnibus 插件

    我已按照以下说明进行操作 http berkshelf com http berkshelf com 安装最新的 ChefDK 后 从这里 http downloads getchef com chef dk mac http downlo
  • 如何在 Amazon OpsWorks 上设置 Chef 的日志输出级别?

    我的问题类似于 如何在控制台中显示 Opscode Chef bash 命令的输出 https stackoverflow com questions 17813592 how can i display the output of a o
  • Jenkins CI 与 Chef 服务器

    有什么方法可以将 Jenkins 与 Chef Server 集成 以便我可以创建要执行的作业吗 我不想去厨师工作站 我需要在单独的服务器或厨师工作站上安装 jenkins 吗 我可以直接从 Jenkins 控制台执行所有食谱吗 是的 你可
  • Windows 食谱中的 Chef NOT_IF 和 ONLY_IF 验证问题

    我正在运行这个简单的配方块来在 IIS 中创建一个 Web 应用程序 powershell script create site my site do code New webapppool name My Web App New Webs
  • Chef 中的动态角色属性

    我想要厨师食谱network interfaces为我的每个节点提供 IP 地址 网络掩码等的动态值 对我有用的是以下内容 db role rb 块1 override attributes network interfaces gt de
  • Chef Solo 错误:找不到食谱

    海伊 我正在尝试在 Amazon EC2 Linux AMI 上使用 Chef Solo 运行 MongoDB 配方 我已经安装了 Omnibus 在 rb 文件中设置了说明书路径 并在 json 文件中设置了运行列表 我已将 mongod
  • 厨师刀命令 404 未找到

    我正在尝试使用 Chef 我按照他们提供的所有步骤 使用您的硬件安装和配置 Chef 服务器 我已从工作站运行以下命令 knife SSL check Output 连接到主机 my server 443已成功验证来自 my server
  • 从 github 添加厨师食谱

    我使用以下命令从 opscode 网站下载了许多食谱 Knife Cookbook网站安装git例如 但是现在我想从 github 上的存储库下载一本说明书到我当前的说明书目录中 我该怎么做呢 我应该将存储库克隆到我的食谱目录中吗 谢谢你
  • 无法在 AWS Opsworks 上使用 Chef 12 找到 Chef 社区食谱

    问题 在 AWS OpsWorks 上运行自定义说明书时setup failed状态针对实例显示 并且故障日志中显示以下内容 2016 03 26T22 53 48 00 00 INFO Started chef zero at chefz
  • 人们如何测试 opsworks 食谱?

    我在 nginx 上使用我目前使用 Capistrano 的乘客对铁路应用程序的动态配置实例进行了相当复杂的部署 我正在尝试自动化 Opsworks 上从创建堆栈 层 实例和动态应用程序部署的整个过程 现有的 Opsworks 食谱都无法满
  • Chef 节点 - 检查菜谱是否会在其上运行,并查看内部角色

    我想知道特定的配方是否会在不同配方内部的节点上运行 我可以使用 node recipe recipe name 方法 但是我的一些食谱是由角色和食谱管理的 似乎没有查看角色运行列表 有没有一种简单的方法可以确定我的 recipie redi

随机推荐

  • 如何在客户端生成/打印报告

    我想知道 是否可以在客户端生成并打印报告 例如使用 jasper 报告 他们必须安装 jasper reports 和 java 我想你可以将一个小程序推送给客户端 其中包含所有必要的罐子和东西 你为什么要这样做
  • 在 eclipse 项目中使用西里尔文 .properties 文件

    我正在开发一个小项目 我想为其使用国际化 问题是 当我尝试使用内部带有西里尔字母符号的 properties 文件时 文本显示为垃圾 当我对字符串进行硬编码时 它显示得很好 这是我的代码 ResourceBundle labels Reso
  • X509Certificate2 构造函数抛出磁盘空间不足

    突然之间 无需部署或进行任何其他环境更改 我们就得到了 磁盘空间不足 在 System Security Cryptography CryptographicException ThrowCryptographicException msc
  • gdb无法调用函数

    我在调试我的应用程序时遇到一些问题 当我尝试从 gdb shell 调用 parser extractString 时 它返回 名称空间 parser 中没有符号 extractString 当我执行时 信息函数 extractString
  • Java slick,html找不到AppletLoader

    我使用基于 slick 状态的游戏制作了一个 java 游戏 因为我的游戏扩展了 StatBasedGame 它不是一个真正的小程序 因为它不扩展 JApplet 所以为了解决这个问题 有一个使用 slick 内置的方法 可以在 html
  • java.sql.SQLException: ORA-00936: 缺少表达式

    下面我正在创建表格 public static final String CREATE SQL CREATE TABLE DATABASE TABLE ID number 10 0 CGUID VARCHAR 255 PGUID VARCH
  • 自动压缩mongodb中删除的空间?

    mongodb文档说 要压缩此空间 请从 mongo shell 运行 db repairDatabase 请注意 此操作会阻塞并且速度很慢 in http www mongodb org display DOCS Excessive Di
  • 为什么 Task.WhenAll 上的等待不抛出 AggregateException?

    在此代码中 private async void button1 Click object sender EventArgs e try await Task WhenAll DoLongThingAsyncEx1 DoLongThingA
  • 最大填充袋子的算法(这不是背包0/1)

    我正在处理一些任务 需要我解决以下算法问题 You Have collection of items their weights w1 w2 wn And You have a bag which weight is W It is Nee
  • 将值从一个脚本返回到另一脚本

    我有以下脚本将 顺序 运行目录中的每个脚本 import os directory for dirpath dirnames filenames in os walk path to scripts for filename in f fo
  • 不使用 Invoke-Expression 扩展字符串

    想象一下下面的代码 Script Start WelcomeMessage Hello UserName today is Date DayOfWeek 100 lines of other functions and what not f
  • MATLAB/Octave:从图像中切出很多圆圈

    我有一个矩阵 图像 和有关圆圈内有趣部分的信息 给出中心坐标和半径 我想剪掉所有的圆 矩阵的一部分 以便对每个圆进行更多计算 或者至少我想要一个带有所有圆圈的位掩码 我使用 Octave 但也可以使用 MATLAB 但由于许可证问题 这会很
  • 验证失败,但无法在 DataGridView 中删除

    这是我的 DataGridView 的 RowValidation 函数 DataGridViewRow row viewApplications Rows e RowIndex if row Cells colApplyTo Index
  • 如何从两个 Openshift 应用程序访问 MongoDB 数据库?

    我希望能够从 2 个 Openshift 应用程序访问我的 MongoDB 数据库 一个应用程序是通过浏览器的交互式数据库维护应用程序 另一个是通过 Openshift 应用程序在移动设备上运行的主要 Web 应用程序 正如我在 Opens
  • 通过 Java lib Apache Commons 上传文件的简明示例

    编辑 我已经删除了我的复杂且严重畸形的问题 这样它就不会影响下面非常简洁和正确的答案 考虑到找到一个在线示例来完成这项极其常见的任务非常困难 令人惊讶 我希望 Yoni 的回答能得到更多支持 所以 简而言之 这个问题 如何使用 Apache
  • Firebase 已获得 FedRAMP 授权?

    我使用 Firebase 作为后端 我看到谷歌服务已获得FedRAMP授权 并且firebase已与谷歌云集成使用 那么firebase也获得了FedRAMP的授权吗 如果没有 有什么办法可以在firebase中获得FedRAMP授权吗 T
  • 使用 PHPExcel 从 Excel 读取数字时出现问题

    我正在尝试使用 PHPExcel 从 Excelsheet 中读取数字 我读取数据的代码 objReader PHPExcel IOFactory createReaderForFile upload file objReader PHPE
  • 带原始数据的 Volley 请求

    在我的应用程序中 我必须使用 JSON req param 发送 POST 请求 我尝试使用 Postman Rest Client 创建请求 它工作正常 但无法使用下面的代码 在作为原始数据发送的 Postman req 参数中 但我不确
  • R XML 解析网址

    我正在尝试下载天气数据 类似于此处提出的问题 如何将XML解析为R数据帧但是当我运行示例中的第一行时 我收到 错误 1 无法加载 HTTP 资源 我已检查该 URL 是否有效 这是我指的行 data lt xmlParse http for
  • 如何确定目录中的任何文件是否已更改

    Chef 有没有办法确定它是否更改了给定目录中的任何文件 如果conf d 目录中的任何设置被更新 我想重新启动服务器进程 我确信可以在每次厨师客户端运行时将 md5sum 列表写入文件 并将当前迭代与之前的迭代进行比较 但这是解决常见场景