使用chef-client维护文件内容

问题描述 投票:0回答:1

是否可以使用厨师食谱维护文件中的特定行。

例如:fileA.txt

foo
foofoofoo
This is important content
This is important content
fooo
foofoofoof
foooooofoofofofof

在上面的示例中,我有一个名称fileA.txt,其中包含两条重要的行,这对我来说非常重要。如果有人只改变文件中的那两行。下一轮的厨师 - 客户将其恢复到同一状态。

但如果有人改变了其他不重要的行,它就不会将其还原。

file '/tmp/fileA.txt' do
   content 'foo
   foofoofoo
   This is important content
   This is important content
   fooo
   foofoofoo
   foooooofoofofofof'
   action :create
end

上面的代码恢复了我不想要的其他行..任何解决方案?

chef chef-recipe
1个回答
0
投票

这不是厨师所做的。它使用文件资源管理文件的整个内容。如果需要执行此操作的文件处理资源,则需要创建自己的自定义资源。但是,考虑到像这样的文件操作通常会起作用,这将非常特定于文件内容。你真的需要鼓励每个编辑文件的人都这样做。您不应该使用Chef部分管理文件,然后让其他人以不同的方式管理其中的另一部分。他们应该适当更新Chef代码。

如果您希望人们单独管理零件,您可以查看partial templates。但是,这仍然需要他们以Chef可以导入和理解的方式管理他们的部分,并且他们不直接在服务器上操作。

编辑:请参阅下面的评论,这是针对sudoers文件,在这种情况下,应使用sudo资源。

© www.soinside.com 2019 - 2024. All rights reserved.