Ist 'hotcopy' genug für SVN-Backups oder sollte ich mich über vollständige und inkrementelle Dumps Gedanken machen?

7

Für meine persönlichen Sachen benutze ich einfach den svnadmin hotcopy -Befehl einmal die Woche, aber für missionskritische Repositories, die viele Entwickler enthalten, ist das genug? Oder sollte ich die Zeit aufwenden, um eine strengere Backup-Strategie zusammenzustellen, die vollständige Backups und inkrementelle Backups umfasst?

hotcopy scheint der einfachste Weg zu sein, aber ich möchte einen Repo wiederherstellen können, wenn er aus irgendeinem Grund beschädigt wird. Wird mir nur ein Dump über hotcopy erlauben, dies zu tun?

    
eriklane 21.11.2008, 16:21
quelle

6 Antworten

12

Machen Sie sich Sorgen wegen der Druckausgabe oder machen Sie sich Sorgen, dass Sie nur einmal pro Woche einen Backup machen?

Hotcopy erstellt eine sichere und vollständige Sicherung Ihres Repositorys, auch wenn andere Prozesse (z. B. Ihre Entwickler) gleichzeitig auf das Repository zugreifen. Wenn Sie immer noch nicht vertrauen, fahren Sie den Zugriff auf das Repository herunter und sichern Sie es, indem Sie es mit den üblichen Dateisystem-Tools kopieren. (Die Entwickler werden nicht rund um die Uhr arbeiten, oder?)

Wenn Sie sich Sorgen um den einmal wöchentlichen Teil machen: Denken Sie nur darüber nach, was passiert, wenn das Repo am Tag vor dem geplanten nächsten Backup verschwindet. Ist es wichtig? Wenn ja, erstellen Sie häufiger Sicherungen. So einfach ist das.

Ist Ihr Repository zu groß, um mehrere Tage oder Wochen voller Backups zu speichern? Implementieren Sie ein rotierendes Sicherungsschema, das vollständige und inkrementelle Sicherungen verwendet. Haben Sie viel Platz für Backups? Sparen Sie sich die Probleme und machen Sie nur vollständige Backups.

    
hop 21.11.2008, 20:34
quelle
8

Eine weitere gute Strategie besteht darin, ein zweites SVN-Repository zu führen und es mit dem Haupt-Repository zu synchronisieren mit svnsync , normalerweise mit einem Post-Commit-Hook.

Der Hauptvorteil besteht darin, dass Sie, wenn das erste Repository aus irgendeinem Grund ausfällt, sofort zu dem Backup-Repository wechseln und ohne Ausfallzeiten weiterarbeiten können.

    
Davide Gualano 21.11.2008 17:18
quelle
2

Ich habe einen Backup-Plan für das SVN 1.4.x-Repository eines Unternehmens (zu dem Zeitpunkt unter Windows gehostet) implementiert und dabei das Script python verwendet. svn-backup-dumps.py

Ich rufe svn-backup-dump.py von einem post-commit Hook auf, um inkrementelle Backups für eine bestimmte Revision auszulösen. Ich habe schtasks verwendet, um eine wöchentliche "vollständige" Sicherung mit demselben Skript zu planen.

Die Wiederherstellung (die wir zweimal durchführen mussten, weil ein Verzeichnis im Repository mit Fett gefingert wurde) ist relativ einfach: Nimm die letzte vollständige Sicherung, stelle sie wieder her. Wenden Sie Inkremente bis zur letzten Revision an.

Ich habe in diesem Bereich keine Verbesserungen / Änderungen für 1.5 untersucht, aber ich glaube, dass ein ähnlicher Plan gut für Sie funktionieren würde.

    
Ken Gentle 21.11.2008 16:58
quelle
2

Rufen Sie mich an, alte Schule, aber was ist mit Sub-Versioning zu einer Partition und dann Ghosting nach einem Zeitplan?

Die von Davide Gualano vorgeschlagene svnsync-Option klingt auch gut. Ich lehne diese Option ab, um eine unnötige Partitionierung meiner Laufwerke zu verhindern (dies kann auch andere Admins in die falsche Richtung bringen und macht bei einigen meiner VPS-Umgebungen keinen Sinn).

Zusatz

Ich habe den Befehl svnadmin 'dump' in letzter Zeit viel benutzt. Dies funktioniert ähnlich wie der Befehl mysql dump, da er Ihr Repository in bak create-Befehle exportiert. Dieser Befehl könnte als crontab / geplante Task implementiert und dann als Datei auf ein externes Laufwerk kopiert werden. Beispielbefehle:

%Vor%

Verwenden Sie dann das Robocopy / Kopierwerkzeug Ihrer Wahl, um die Datei an einen anderen Ort zu verschieben. Dies ist nützlich, wenn Sie die Dateien vollständig vom Repo-Server entfernen möchten, aber keinen externen Zugriff auf die Subversion haben.

Ich habe es immer noch nicht mit einer schönen Kunst zu tun. Wenn ich diese Dateien zwischen Rechnern verschiebe, bekomme ich gelegentlich etwas wie "UUID stimmt nicht überein". Ich habe dies gelöst, indem ich den Projektordner gelöscht / unterbewertet habe, und dann:

%Vor%

Dies sollte den Fehler beheben. Möglicherweise müssen Sie Verknüpfungen mit Eclipse oder anderen Projekten neu erstellen oder wiederherstellen. Wenn die UUID beschädigt ist, kann dies auch andere Personen betreffen, die das Projekt verwenden. Dies sollte berücksichtigt werden.

Sie können diese Methode als Fallback für Hotcopy verwenden. Dazwischen sollten Sie das Repo wiederherstellen können.

P.S. Ken, es sieht so aus, als ob svn-backup-dump.py hierher verschoben wurde: Ссылка

    
Aaron Newton 03.11.2009 12:45
quelle
1

Wenn Sie ein beschädigtes Repo über die Oberseite Ihrer zuvor unverdorbenen Sicherung kopieren, verlieren Sie Ihre beschädigte Sicherung.

Wenn Sie sich darüber Sorgen machen, müssen Sie, wie andere bereits gesagt haben, Ihre Backups drehen.

Sie können auch veranlassen, dass 'svnadmin verify' ebenfalls automatisch ausgeführt wird.

    
Will Dean 24.11.2008 19:23
quelle
0
___ answer310107 ___

Machen Sie sich Sorgen wegen der Druckausgabe oder machen Sie sich Sorgen, dass Sie nur einmal pro Woche einen Backup machen?

Hotcopy erstellt eine sichere und vollständige Sicherung Ihres Repositorys, auch wenn andere Prozesse (z. B. Ihre Entwickler) gleichzeitig auf das Repository zugreifen. Wenn Sie immer noch nicht vertrauen, fahren Sie den Zugriff auf das Repository herunter und sichern Sie es, indem Sie es mit den üblichen Dateisystem-Tools kopieren. (Die Entwickler werden nicht rund um die Uhr arbeiten, oder?)

Wenn Sie sich Sorgen um den einmal wöchentlichen Teil machen: Denken Sie nur darüber nach, was passiert, wenn das Repo am Tag vor dem geplanten nächsten Backup verschwindet. Ist es wichtig? Wenn ja, erstellen Sie häufiger Sicherungen. So einfach ist das.

Ist Ihr Repository zu groß, um mehrere Tage oder Wochen voller Backups zu speichern? Implementieren Sie ein rotierendes Sicherungsschema, das vollständige und inkrementelle Sicherungen verwendet. Haben Sie viel Platz für Backups? Sparen Sie sich die Probleme und machen Sie nur vollständige Backups.

    
___ qstntxt ___

Für meine persönlichen Sachen benutze ich einfach den %code% -Befehl einmal die Woche, aber für missionskritische Repositories, die viele Entwickler enthalten, ist das genug? Oder sollte ich die Zeit aufwenden, um eine strengere Backup-Strategie zusammenzustellen, die vollständige Backups und inkrementelle Backups umfasst?

%code% scheint der einfachste Weg zu sein, aber ich möchte einen Repo wiederherstellen können, wenn er aus irgendeinem Grund beschädigt wird. Wird mir nur ein Dump über %code% erlauben, dies zu tun?

    
___ answer309527 ___

Eine weitere gute Strategie besteht darin, ein zweites SVN-Repository zu führen und es mit dem Haupt-Repository zu synchronisieren mit svnsync , normalerweise mit einem Post-Commit-Hook.

Der Hauptvorteil besteht darin, dass Sie, wenn das erste Repository aus irgendeinem Grund ausfällt, sofort zu dem Backup-Repository wechseln und ohne Ausfallzeiten weiterarbeiten können.

    
___ answer1667123 ___

Rufen Sie mich an, alte Schule, aber was ist mit Sub-Versioning zu einer Partition und dann Ghosting nach einem Zeitplan?

Die von Davide Gualano vorgeschlagene svnsync-Option klingt auch gut. Ich lehne diese Option ab, um eine unnötige Partitionierung meiner Laufwerke zu verhindern (dies kann auch andere Admins in die falsche Richtung bringen und macht bei einigen meiner VPS-Umgebungen keinen Sinn).

Zusatz

Ich habe den Befehl svnadmin 'dump' in letzter Zeit viel benutzt. Dies funktioniert ähnlich wie der Befehl mysql dump, da er Ihr Repository in bak create-Befehle exportiert. Dieser Befehl könnte als crontab / geplante Task implementiert und dann als Datei auf ein externes Laufwerk kopiert werden. Beispielbefehle:

%Vor%

Verwenden Sie dann das Robocopy / Kopierwerkzeug Ihrer Wahl, um die Datei an einen anderen Ort zu verschieben. Dies ist nützlich, wenn Sie die Dateien vollständig vom Repo-Server entfernen möchten, aber keinen externen Zugriff auf die Subversion haben.

Ich habe es immer noch nicht mit einer schönen Kunst zu tun. Wenn ich diese Dateien zwischen Rechnern verschiebe, bekomme ich gelegentlich etwas wie "UUID stimmt nicht überein". Ich habe dies gelöst, indem ich den Projektordner gelöscht / unterbewertet habe, und dann:

%Vor%

Dies sollte den Fehler beheben. Möglicherweise müssen Sie Verknüpfungen mit Eclipse oder anderen Projekten neu erstellen oder wiederherstellen. Wenn die UUID beschädigt ist, kann dies auch andere Personen betreffen, die das Projekt verwenden. Dies sollte berücksichtigt werden.

Sie können diese Methode als Fallback für Hotcopy verwenden. Dazwischen sollten Sie das Repo wiederherstellen können.

P.S. Ken, es sieht so aus, als ob svn-backup-dump.py hierher verschoben wurde: Ссылка

    
___ answer315151 ___

Wenn Sie ein beschädigtes Repo über die Oberseite Ihrer zuvor unverdorbenen Sicherung kopieren, verlieren Sie Ihre beschädigte Sicherung.

Wenn Sie sich darüber Sorgen machen, müssen Sie, wie andere bereits gesagt haben, Ihre Backups drehen.

Sie können auch veranlassen, dass 'svnadmin verify' ebenfalls automatisch ausgeführt wird.

    
___ antwort309362 ___

Ich hatte in der Vergangenheit Pech mit heißen Kopien allein. Wenn es Code ist, der im Laufe des Tages mehrmals aktualisiert und festgeschrieben wird, kann es eine tiefere Backup-Strategie wert sein.

    
___ tag123svn ___ Verwenden Sie dieses Tag für Fragen zu SVN (Subversion), einem zentralisierten Open-Source-Versionskontrollsystem, das unter der Apache-Lizenz vertrieben wird. ___ qstnhdr ___ Ist 'hotcopy' genug für SVN-Backups oder sollte ich mich über vollständige und inkrementelle Dumps Gedanken machen? ___ tag123backup ___ Der Vorgang des Speicherns von Dateien, Daten, Anwendungen usw. auf sekundären Medien, um die Wiederherstellung von Dateien, Daten, Anwendungen usw. zu ermöglichen, falls das primäre Medium nicht verfügbar ist (fehlschlägt). Auch das sekundäre Speichermedium. ___ answer309463 ___

Ich habe einen Backup-Plan für das SVN 1.4.x-Repository eines Unternehmens (zu dem Zeitpunkt unter Windows gehostet) implementiert und dabei das Script %code% verwendet. %code%

Ich rufe %code% von einem %code% Hook auf, um inkrementelle Backups für eine bestimmte Revision auszulösen. Ich habe %code% verwendet, um eine wöchentliche "vollständige" Sicherung mit demselben Skript zu planen.

Die Wiederherstellung (die wir zweimal durchführen mussten, weil ein Verzeichnis im Repository mit Fett gefingert wurde) ist relativ einfach: Nimm die letzte vollständige Sicherung, stelle sie wieder her. Wenden Sie Inkremente bis zur letzten Revision an.

Ich habe in diesem Bereich keine Verbesserungen / Änderungen für 1.5 untersucht, aber ich glaube, dass ein ähnlicher Plan gut für Sie funktionieren würde.

    
___
Kilhoffer 21.11.2008 16:29
quelle

Tags und Links