Назад | Перейти на главную страницу

Ищете оболочку VCS, которая отслеживает изменение системных файлов во всей ОС * nix и отправляет различия по электронной почте.

Мне нужно какое-то программное обеспечение, которое отслеживает пользовательские каталоги во всей ОС (например, / etc) и предупреждает меня, если кто-то редактирует что-то внутри файла. Кроме того, этот инструмент должен автоматически фиксировать и отправлять изменения на сервер резервного копирования, чтобы я мог легко определить, когда было внесено конкретное изменение в конкретный файл. я использую cvsbackup прямо сейчас, но я хочу создать или найти что-то более современное.

Я считаю, что использование git в качестве VCS - отличная идея. Я мог бы иметь локальный репозиторий и легко возвращать изменения в моих файлах конфигурации. Кроме того, отправка изменений в удаленный репозиторий поможет мне восстановить мои файлы конфигурации в случае сбоя сервера.

Писать оболочку вокруг git не сложно, но проблем много. Например, мне нужно отслеживать пользовательские каталоги: /usr/local/nginx/ и /etc/. Итак, пункт назначения моего репозитория git - /. Мне не нужно отслеживать другие каталоги, поэтому я должен писать огромные .gitignore правило:

*
!.gitignore

!/etc/
!etc/*

!/usr
/usr/*
!/usr/local
/usr/local/*
!/usr/local/nginx
!/usr/local/nginx/*

Это очень сложно и подвержено ошибкам. Так что, возможно, будет хорошей идеей создать промежуточный файл, который оболочка читает и преобразует в .gitignore формат. Кроме того, я не хочу хранить свою папку .git в / partition, поэтому мне нужно установить соответствующие переменные GIT_DIR и GIT_WORK_TREE для git.

Есть ли готовые инструменты для реализации этой задачи? Я не нашел, но не верю, что эта функция никому не нужна.

Там есть Etckeeker который поддерживает различные серверные части VCS. Он предназначен для отслеживания /etc, но я уверен, что вы могли бы расширить это до большего количества папок. А функция рассылки может быть реализована как перехватчик после фиксации.

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