Ich möchte Änderungen in / etc / verfolgen
Grundsätzlich würde ich gerne wissen, ob eine Datei geändert wurde, von yum update
oder von einem Benutzer, und sie zurücksetzen, wenn mir die Änderung nicht gefällt. Ich dachte daran, ein VCS wie git, LVM oder btrfs-Snapshots oder ein Backup-Programm dafür zu verwenden.
Was würdest du empfehlen?
Antworten:
Es hört sich so an, als wollten Sie einen Prüfer von Joey Hess von Debian, der Dateien unter
/etc
Verwendung der Versionskontrolle verwaltet. Es unterstützt Git, Mercurial, Darcs und Basar.quelle
Ich kann Ihnen keine endgültige Empfehlung geben, aber ich kann ein paar Gedanken zu diesem Thema teilen. Da / etc normalerweise eher klein ist, können Sie sich für eine einfache Lösung mit komprimiertem Teer entscheiden. Wenn Sie den Verlauf kaum durchgehen müssen, ist dies möglicherweise die einfachste Lösung für die Einrichtung.
Für mich wäre es zu mühsam, logische Volumes zu verwalten, nur um / etc im Auge zu behalten, und vor allem, weil ich nicht der Meinung bin, dass LVM-Snapshots so konzipiert wurden, dass sie regelmäßig erstellt werden, um eine relativ kleine Datenmenge zu sichern.
btrfs scheint mir dafür weitaus besser gerüstet zu sein, aber es ist immer noch nicht so stabil wie zum Beispiel ext {2,3,4} und das fsck-Tool ist auch noch nicht fertig. Aber es wird immer besser.
Persönlich verwende ich git, um / etc zu verfolgen, aber Sie sollten bedenken, dass git keine Dateimetainformationen wie Besitz oder Erlaubnis speichert! Überprüfen Sie auch, ob das .git-Verzeichnis die richtige Berechtigung hat. Es gibt jedoch einige Tools, die bei diesen Problemen helfen. Vielleicht möchten Sie einen Blick auf etc-keeper werfen , das genau für das Verfolgen von / etc entwickelt wurde, oder zumindest so etwas wie gitperms oder metastore verwenden , um die Metainformation zu verfolgen.
quelle
Um "unerwünschte" Änderungen im Auge zu behalten, verwenden wir ein HIDS - in unserem Fall sind
samhain
anderetripwire
oderaide
. Alle diese Systeme warnen Sie, wenn etwas Unerwünschtes passiert ist.A
yum update
sollte nichts ändern, ohne eine .rpmnew oder .rpmold zu hinterlassen, wenn die Konfigurationsdatei in der entsprechenden rpm als solche gekennzeichnet ist.Myselv Ich fand es eine gute Praxis, eine Sicherheitskopie der Datei zu erstellen, die ich
cp -p origfile origfileYYYY-MM-DD
mit dem Datum des Vortages ändern werde .Wenn alles andere fehlschlägt, rufe ich die Backup-Leute an und frage nach einer Wiederherstellung von dem letzten bekannten "guten" Backup.
quelle
Ich denke, Sie können einen Schnappschuss von Dateien / Verzeichnissen in machen
/etc
.Erstellen Sie zuerst eine Liste der Dateien / etc / directory:
Und wenn Sie eine Datei in der machen
/etc
und wenn Sie einen Schnappschuss von dem machen,
/etc
was wir vorher gemacht habenund dann können Sie die Unterschiede zwischen den 2 Dateien wie folgt vergleichen:
quelle
Es gibt immer Radmind . Sie können diese Änderung sofort rückgängig machen, wenn Sie sie nicht mögen.
quelle
Suchen Sie nach Konfigurationsmanagement oder nach Verfolgung / Überwachung der Dateisystemänderungen?
Wenn es früher ist, würde ich
puppet
oder schauenchef
.CFEngine
existiert für kommerzielle Zwecke.puppet
ist heutzutage ein beliebtes Tier.Wenn es das spätere ist, ist es schwierig, die Dateisystemänderungen zu überwachen, es gibt jedoch Programme wie
inotify
und Dateisystemprüfungenauditctl
oder SGIs,fam
aber auch dies ist eine Überwachungssache und kann eine teure Implementierung sein (die Dateisystemleistung kann sich verschlechtern).quelle
Sie können herausfinden,
rsnapshot
welche stündlichen Schnappschüsse von beliebigen Verzeichnissen gespeichert werden. Sie können festlegen, dass 24 Stunden, dann X Tageszeitungen, dann X Wochenzeitungen usw. ausgeführt werden sollen. So viel Speicherplatz Sie möchten. Es ist intelligent genug, um eine feste Verknüpfung herzustellen, wenn sich die Dateien nicht geändert haben (es wirdrsync
hinter den Kulissen verwendet).quelle
Sie könnten mit berücksichtigen
git
. Sie können Änderungen auf effiziente Weise nachverfolgen und sind für so etwas sehr einfach zu verwenden.Ich glaube, das anfängliche Setup geht so. Ich habe es eine Weile nicht getan.
Dieser Ansatz funktioniert am besten für einen einzelnen Server, kann jedoch mit anderen Tools kombiniert werden, die das Repository ändern. Dies kann auf Ihren Kanarischen Websites nützlich sein, um sicherzustellen, dass die erwarteten Änderungen eintreten.
Möglicherweise können Sie das Klonen verwenden, um Dateien zu verarbeiten, die mehreren Servern gemeinsam sind.
quelle
Ich habe ein Skript, das täglich ausgeführt wird und Dateien sichert, die sich seit der vorherigen Sicherung geändert haben:
Sie übergeben den Pfad, in dem die Sicherungen erstellt werden, und dieses Verzeichnis enthält eine ähnliche Liste (nach einigen Durchläufen):
Sie können es ein wenig ändern, um Änderungen häufiger aufzuzeichnen, oder inotify verwenden, um eine geänderte Version des Skripts auszulösen, wenn Änderungen am vorgenommen werden
/etc
.quelle