使用Chef统一配置crontab

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

我想使用Chef以一种收敛的方式设置我的crontab。也就是说,我想在我的食谱中指定cronjobs的列表,并让Chef修改我的crontab,使其仅包括那些条目,并根据需要在crontab中创建和删除行。

我该怎么做?

内置cron资源似乎不适合该任务;它的资源是单独的cron作业,并执行cron:create操作;当我从菜谱中删除条目时,除非我明确包含:delete操作,并且我不想为已删除的每个crontab列出:delete操作,否则我无法自动将其从crontab中删除从我整个历史的食谱中。

Chef超市的:delete似乎也不大可能解决此问题,因为它声称支持与内置cron cookbook资源相同的接口。

cron chef
1个回答
2
投票

这没有明确命名,但是Chef资源设计中有两个一般的思想流派:“托管资源”与“托管集合”。使用托管集合,您可以收敛地定义集合的整个状态,而不是其中的单个对象。这种收集方法似乎是您正在寻找的一种方法,但是Chef社区(以及所有核心代码)通常会避免这种收集方法,因为它极容易出错。出于很多原因,Chef运行中可能看不到对象(部分运行,复合运行等),俗话说“缺少证据并不表示缺乏证据”。就是说,由于繁琐的代码审查和有关陷阱的培训,一些用户(Facebook)充分利用了收集模式。请查看cron食谱,以了解可能适合您的cron资源的实现。

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