Ищите оболочку 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, которое поддерживает проверку файлов.