Crontab контроля версий? - PullRequest
       6

Crontab контроля версий?

4 голосов
/ 25 ноября 2008

У меня есть несколько десятков машин Linux с cron, и я хотел бы поместить crontabs в какую-то систему контроля версий. Для управления исходным кодом я использую Mercurial (hg), так что это было бы идеально, но если есть какая-то другая система, которая лучше подходит для этой задачи, я бы ее рассмотрел.

Один аспект, характерный для моей ситуации, заключается в том, что все crontabs принадлежат обычному пользователю (не реальному человеку, а логину с "заполнителями" в качестве заполнителя). Мне бы хотелось, чтобы в историю изменений входил реальный автор каждого изменения, а не специальная учетная запись, в которой фактически выполняются задания cron.

Ответы [ 3 ]

3 голосов
/ 25 ноября 2008

crontab -l выводит ваш crontab на стандартный вывод, который вы можете перенаправить в файл. У вас может быть задание (естественно, в cron) перенаправить его в файл, который затем передается в файл и при необходимости отправляется в систему контроля версий.

1 голос
/ 25 ноября 2008

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

С этого сайта:

etckeeper - это набор инструментов для хранения / etc в репозитории git, mercurial, darcs или bzr. Он подключается к apt (и другим менеджерам пакетов, включая yum и pacman-g2) для автоматической фиксации изменений, внесенных в / etc во время обновления пакетов. Он отслеживает метаданные файлов, которые системы контроля версий обычно не поддерживают, но это важно для / etc, например, права доступа /etc/shadow. Он достаточно модульный и настраиваемый, а также простой в использовании, если вы понимаете основы работы с контролем версий.

0 голосов
/ 25 ноября 2008

Если система linux следует LFS (стандарт файловой системы linux, IIRC), то / etc должна содержать только файлы конфигурации. Я имел довольно хороший опыт, импортировав весь / etc в CVS.

Единственная проблема заключается в том, что только root может фиксировать изменения, поэтому было немного трудно понять, кто что-то сломал. Это можно решить, назначив каждому администратору трехбуквенное короткое имя и установив правило, согласно которому каждый коммит должен начинаться с этого имени.

...