Ich habe festgestellt, dass mehrere Personen empfohlen haben, etckeeper zu verwenden, um die Versionskontrolle auf mein Verzeichnis / etc anzuwenden.
Mir scheint, dass die Standardinstallation ein Repository auf demselben Computer wie das / etc platziert, das Sie verwalten möchten. Dies funktioniert gut für die Versionskontrolle, bietet jedoch nicht den zusätzlichen Vorteil einer Off-Server-Sicherung der Dateien - oder ermöglicht es mir, Teile von / etc von einem Quellcomputer auf einen anderen zu duplizieren.
Ist es möglich, ein einzelnes Git-Repository auf einem zentralen Verwaltungscomputer freizugeben, sodass etckeeper auf jedem Server seine Daten am selben Ort speichert?
(Ich mache jetzt etwas Ähnliches mit svn und einigen benutzerdefinierten Skripten, um Dateien festzuschreiben und zurückzusetzen, aber ich muss daran denken, sie festzuschreiben, wenn ich Änderungen vornehme.)
quelle
git push
auf Ihr erstelltes Git-Repo hinarbeiten? wahrscheinlich müssen Sie nacktes Repo in etwas erstellen, das der Haken unter commit.d ist wirklich gute Idee, ich mag esEs ist möglich, eine Remote-Zweigstellenkonfiguration hinzuzufügen, um den Hauptzweig des etckeeper-Repositorys von jedem Server einem Zweig im Remote-Repository zuzuordnen. Dazu können Sie auf jedem Server die folgenden Befehle ausführen:
Nach diesem Setup werden nachfolgend
git push
Änderungen von jedem Server-Master-Zweig an den dedizierten Server-Zweig im zentralen Repository gesendet.Obwohl die Zweige keinen gemeinsamen Ausgangspunkt haben, können Sie auf einfache Weise dieselbe Datei aus zwei verschiedenen Zweigen vergleichen, die zwei verschiedene Server darstellen, indem Sie Folgendes ausführen:
Dies kann mit dem von jojoo vorgeschlagenen automatisierten Setup kombiniert werden .
quelle
Wie es automatisch geht, die ganze Geschichte:
Erstellen Sie die Datei /etc/etckeeper/commit.d/60-push (vergessen Sie nicht, chmod + x it) auf den Clients.
central_server ist in der ssh-Konfiguration definiert, siehe unten. /var/git/client_name.git ist das Verzeichnis auf dem zentralen Server, das das Git-Repo enthält.
Die ~ / .ssh / config von root (!) Sollte ungefähr Folgendes enthalten:
Dann müssen Sie das Git-Repo auf dem central_server starten
Testen Sie es mit einer kleinen Bearbeitung in / etc und dann einem Etckeeper-Commit "Test Push'ing".
quelle
Das ist nicht der Punkt. Wenn Sie die Konfiguration weit verteilen möchten, richten Sie zusätzlich zum lokalen Repo jedes Computers ein weiteres Repository ein und lassen jeden Computer nach Bedarf auswählen . Dies ermöglicht es jeder Maschine, abzuweichen (wirklich zu verzweigen) und die Revisionskontrolle beizubehalten.
quelle
Sie möchten etckeeper wirklich nicht zu Ihrer Sicherungsrichtlinie machen. Eine Kopie Ihrer Konfigurationsdateien wäre zwar nett, reicht jedoch kaum aus, um als Disaster Recovery-Plan zu gelten.
Konzentrieren Sie sich stattdessen auf echte Backups Ihres Systems. Der Simplist könnte ein Cronjob sein, um einen Tarball auf Band zu füttern ... oh, richtig. Niemand benutzt mehr Bänder. Okay, ein cronjob rsync alle Ihre Dateien auf einem dedizierten NAS . Weitere Informationen zu robusteren Backup-Lösungen finden Sie unter Amanda und Bacula .
Und für den Fall von Akademikern, konnte ich pushen meine etckeeper Repo bis GitHub wie jeder anderen git Repo.
quelle