代码之家  ›  专栏  ›  技术社区  ›  John Zwinck

crontab修订控制?

  •  4
  • John Zwinck  · 技术社区  · 16 年前

    我有几十台Linux机器在运行 cron 我想把crontabs放到某种版本控制系统中。对于源代码管理,我使用mercurial( hg ,所以这是理想的,但是如果有其他系统更适合这个任务,我会考虑它。

    一个特定于我的情况的方面是,所有crontabs都属于一个公共用户(不是真正的用户,而是一个占位符“服务”登录)。我希望修订历史记录包括每个更改的实际作者,而不是cron作业实际运行的特殊帐户。

    3 回复  |  直到 9 年前
        1
  •  3
  •   bradheintz    16 年前

    crontab-l将crontab转储到标准输出,您可以重定向到一个文件。您可以有一个作业(当然是在cron中)将其重定向到一个文件,然后文件就不同了,并根据需要推送到源代码管理。

        2
  •  1
  •   SQB    9 年前

    http://joey.kitenet.net/code/etckeeper/ ?

    从该网站:

    etckeeper是允许/etc存储在Git、Mercurial、DARC或BZR存储库中的工具集合。它与apt(以及其他包管理器,包括yum和pacman-g2)挂钩,自动提交包升级期间对/etc所做的更改。它跟踪Revison控制系统通常不支持的文件元数据,但这对于/etc很重要,例如 /etc/shadow . 它是非常模块化和可配置的,如果您了解使用修订控制的基本知识,它也很容易使用。

        3
  •  0
  •   Aaron Digulla    16 年前

    如果Linux系统遵循LFS(Linux文件系统标准,IIRC),那么/etc应该只包含配置文件。我有很好的经验,把所有的东西都输入简历。

    唯一的问题是只有根可以提交更改,所以很难知道是谁破坏了某些东西。这可以通过为每个管理员分配一个3个字母的短名称,并设置每个提交必须以该名称开头的规则来解决。