2009-01-14 8 views
10

Unser aktueller Backup-Prozess macht jeden Abend ein SVN HOTCOPY, zu einem Backup-Speicherort auf einem anderen Computer. Kann ich irgendwie von dieser Sicherung wiederherstellen und den gesamten Revisionsverlauf behalten? Oder muss ich den Svn Dump/Load verwenden?Wiederherstellung von Svn-Hotcopy-Backups

Danke, Chandrajeet

Antwort

24

"svnadmin Hotcopy" Kopien tatsächlich das gesamte Repository an einem anderen Ort. Die Kopie unterscheidet sich nicht vom ursprünglichen Repository und kann tatsächlich selbst als Repository verwendet werden. Sie sollten also in der Lage sein, die Ergebnisse von svnadmin hotcopy in Ihren Repository-Speicherort zu kopieren und ein perfekt gültiges, wiederhergestelltes Repository zu haben.

Der Vorteil von Hotcopy gegenüber einer regulären Dateisystemkopie ist, dass sie den Sperrmechanismus von Subversion respektiert.

+0

Vielen Dank für die Antwort. Ich mache mir Sorgen um diese Situation, wenn ein beschädigtes Repository über ein sauberes Repository am Backup-Speicherort gesichert wird. Obwohl ich von Montag bis Freitag kreisförmige Backups mache, fürchte ich die obige Situation. Wofür wird svnadmin wiederhergestellt? Da sich mein Repository auf einem fsfs-System befindet, ist "svnadmin recover" nutzlos. Grüße, – chandrajeet

+0

svnadmin recover wird von einigen Fehlern in fsfs ab Subversion 1.5 wiederherstellen. Ich würde jedoch empfehlen, regelmäßige Snapshots auf einem dauerhafteren Backup-Medium zu halten. – MattK

7

Als Teil Ihrer täglichen Backup, können Sie svnadmin verify <REPOSITORY>

ausführen möchten Sie entweder das Original oder die hotcopied überprüfen konnte.

Tun Sie dies auf jeden Fall vor der Wiederherstellung von einem Backup.

1

Ich würde viel mehr tun, als einfach jeden Abend eine Hotcopy zu machen. Ich würde "svnadmin dump" verwenden, um einen Verlauf von Revisionen in eine Dump-Datei zu erstellen, die in einem Arbeits-Repository wiederhergestellt werden kann.

Sie sollten diese Dump-Dateien auf Band oder Offsite-Datenträger sichern, wie es bei der Standard-Sicherungsprozedur der Fall ist. Wenn ein beschädigtes Repository mehrere Tage lang bestehen bleibt, bevor es abgefangen wird (z. B. an einem Wochenende oder Feiertag), können Sie zur letzten guten Datei zurückkehren.

+0

Warum ist das "mehr" dann Hotcopy? Es enthält keine Hooks oder andere nicht festgeschriebene Daten, und Hotcopy enthält alles in einer Dump-Datei? – Eddie

1

können Sie in meiner Antwort auf eine ähnliche Frage aussehen wollen: "Restore SVN backups from multiple files"

Sie sollten auch über eine Strategie denken für Ihre SVN-workingcopies erholen: , wenn Sie gerade einen hotcopied (oder dumped) Repo erholen Alle Arbeitscopys, die sich auf einer höheren Revision befinden, sind ungültig und die Entwickler müssen erneut auschecken. Normalerweise braucht es viel mehr Zeit, um wieder auf Kurs zu sein, als das Repo alleine wiederherzustellen.

Das Problem auf Dumps ist: Sie sind sehr zeitaufwendig zu erstellen und wiederzugeben.

Auch wenn Sie Hook-Skripte verwenden, werden diese in Ihrem Hotcopy enthalten sein, aber sie werden nicht in Ihren Deponien sein.

Thats said, ich würde empfehlen, eine Kombination aus hotcopy und per-commit dump