Ищите оболочку 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.

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

1 ответ

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

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

Другие вопросы по тегам