Я хотел бы отслеживать изменения в / etc /
По сути, я хотел бы знать, был ли файл изменен пользователем yum update
или пользователем, и откатить его, если мне не нравится изменение. Я подумал об использовании VCS, таких как снимки git, LVM или btrfs или программа резервного копирования для этого.
Чтобы вы посоветовали?
Ответы:
Похоже, вы хотите etckeeper от Джои Хесс из Debian, который управляет файлами
/etc
с помощью контроля версий. Он поддерживает git, mercurial, darcs и базар.источник
Я не могу дать вам окончательную рекомендацию, но я могу поделиться несколькими мыслями по этому вопросу. Учитывая, что / etc обычно довольно маленький, вы можете просто пойти на простое сжатое tar-решение. Если вам вряд ли нужно просматривать историю, это может быть самым простым решением для настройки.
Для меня было бы утомительно управлять логическими томами только для того, чтобы отслеживать / etc, и тем более, что я не думаю, что моментальные снимки LVM были созданы для регулярного создания в качестве средства для резервного копирования относительно небольшого объема данных.
Мне кажется, что btrfs лучше подходит для этого, но он все еще не так стабилен, как, например, ext {2,3,4}, и инструмент fsck также еще не готов. Но это постоянно становится лучше.
Лично я на самом деле использую git для отслеживания / etc, но вы должны иметь в виду, что git не хранит метаинформацию файла, такую как право собственности или разрешение! А также проверьте, что каталог .git имеет право доступа. Есть несколько инструментов, которые помогают с этими проблемами, хотя. Возможно, вы захотите взглянуть на etc-keeper , который был разработан специально для отслеживания / etc, или использовать хотя бы что-то вроде gitperms или metastore для отслеживания метаинформации.
источник
Для отслеживания «нежелательных» изменений мы используем HIDS - в нашем случае
samhain
другие являютсяtripwire
илиaide
. Все эти системы будут предупреждать вас, когда происходит что-то нежелательное.A
yum update
не должен ничего менять, не оставляя .rpmnew или .rpmold, если файл конфигурации помечен как таковой в соответствующем rpm.Myselv Я считаю хорошей практикой создание защищенной копии файла, который я собираюсь изменить
cp -p origfile origfileYYYY-MM-DD
датой накануне.Если все остальное терпит неудачу - я вызываю резервных копий парней и прошу восстановить из последней известной "хорошей" резервной копии.
источник
Я думаю, что вы можете сделать снимок файлов / каталогов в
/etc
.Сначала составьте список файлов / etc / directory:
И если вы делаете файл в
/etc
и если вы сделаете снимок того,
/etc
что мы делали раньшеи тогда вы можете сравнить различия между двумя файлами, как это:
источник
Всегда есть радость . Вы можете откатить это изменение обратно, если оно вам не нравится.
источник
Вы ищете управление конфигурацией или отслеживание / мониторинг изменений файловой системы?
Если бы это было раньше, я бы посмотрел на
puppet
илиchef
.CFEngine
существует в коммерческих целях.puppet
это популярный зверь в наши дни.Если это более поздняя версия, вам сложно отслеживать изменения файловой системы, однако существуют экземпляры таких программ, как
inotify
и аудит файловой системыauditctl
или SGI,fam
но, опять же, это вещь мониторинга и может быть дорогостоящей реализацией (производительность файловой системы может ухудшиться).источник
Вы можете проверить,
rsnapshot
где хранятся ежечасные снимки любых каталогов, которые вы хотите ... вы можете настроить его на 24 часа, затем ежедневные X, затем еженедельные X и т. Д. Столько, сколько нужно для дискового пространства. Это достаточно умно, чтобы жестко связать, когда файлы не изменились (это используетсяrsync
за кулисами.источник
Вы могли бы рассмотреть возможность использования
git
. Вы можете Это эффективно отслеживать изменения и очень прост в использовании для чего-то вроде этого.Я полагаю, что начальная установка идет следующим образом. Я не делал это некоторое время.
Этот подход лучше всего подходит для одного сервера, но может быть наслоен с помощью других инструментов, которые изменяют хранилище. Это может быть полезно на вашем канарском сайте (ах), чтобы обеспечить ожидаемые изменения.
Вы можете использовать клонирование для обработки файлов, общих для нескольких серверов.
источник
У меня есть скрипт, который запускается каждый день и создает резервные копии файлов, которые изменились с момента предыдущего резервного копирования:
Вы передаете путь, по которому будут создаваться резервные копии, и этот каталог будет иметь список, похожий на этот (после нескольких запусков):
Вы можете немного изменить его, чтобы чаще записывать изменения, или использовать inotify, чтобы запускать измененную версию скрипта, когда происходят изменения
/etc
.источник