Was ist der beste Weg, um Subversion-Backups durchzuführen (auf einem Debian-basierten Server)?
Ist es svnadmin zu verwenden?
svnadmin dump /path/to/reponame > reponame.dump
Oder vielleicht nur, um das Verzeichnis zu tarieren, in dem sich die Repositories befinden?
tar -cvzf svn.backup.tar.gz /var/subversion/
Was sind die Vor- und Nachteile der oben genannten?
Danke Johan
Update : Dies ist ein kleiner Server mit nur einer Handvoll Repos. Daher sind inkrementelle Backups wahrscheinlich nicht erforderlich. Ich denke, es ist besser, sich darauf zu konzentrieren, es einfach zu halten.
Update : Ich habe das Packs-Wrapper-Skript (das wiederum ein Wrapper für svn-hot-backup war) verwendet, um eine vollständige Sicherung durchzuführen, und dann eine vollständige Wiederherstellung auf einem anderen sauberen Computer durchgeführt. Ich habe jedoch den Teil "SVN_HOTBACKUP_NUM_BACKUPS = 10" entfernt, da er bei mir nicht funktioniert hat.
Bitte beachten Sie, dass ich der Meinung bin, dass es ziemlich einfach war und das Ergebnis sehr nahe daran war, nur das Ziel zu erreichen. Aber wie Manni hier betonte, ist die Verwendung von svn-hot-backup / "svnadmin hotcopy" eine zuverlässigere Methode, da tar von Zeit zu Zeit beschädigte Backups erstellen kann, wenn Sie Pech haben.
Haben Sie die Dokumentation dazu gesehen?
Grundsätzlich haben Sie zwei Möglichkeiten:
svnadmin dump
svnadmin hotcopy
Das einfache Erstellen einer Kopie des Verzeichnisses ist keine Option, da sich Ihr Repository möglicherweise ändert, während die Kopie erstellt wird.
Ob Sie inkrementelle oder vollständige Sicherungen durchführen, hängt von Ihrer Paranoia, der Größe Ihres Repositorys, Ihren Anforderungen und Ihrer Infrastruktur ab.
quelle
Ich empfehle SVNBackup , da es inkrementelle Sicherungen durchführen kann .
Warum ist das wichtig? Wenn Sie ein großes Entwicklungsteam haben und ein tägliches Subversion-Backup haben und Ihr System 12 Stunden nach dem alten Backup ausfällt, geht die Arbeit des gesamten Tages verloren.
Wenn Sie mehrmals täglich vollständige Sicherungen durchführen (was SVN-Hotcopy ist), verursachen Sie unnötigen Ladevorgang auf Ihrem Repository-Computer, was ungeduldige Entwickler irritiert.
Als Bonus; Ich empfehle auch Backup-PC als Backup-Lösung. Es kann inkrementelle Remote-Sicherungen durchführen und viel Platz sparen, wenn Sie identische Dateien auf verschiedenen Systemen sichern.
quelle
Ich verwende svnsync, um in ein ansonsten schreibgeschütztes Repository zu sichern, das selbst mit veralteten Kopien (Tag, Woche, Monat) gesichert ist.
quelle
dump
undhotcopy
es hat sicherlich seine Verwendung. Dies kann auch für lokale inkrementelle Sicherungen sehr praktisch sein.Sie können inkrementelle Backups mit svnadmin erstellen, wenn Sie dies wünschen. Führen Sie die Datei hot-backup.py aus, bevor Sie Ihr Tar-Archiv erstellen .
Hier ist ein Artikel über das Sichern von SVN-Repos. Wie bereits erwähnt, ist das Lesen des SVN-Buches ein guter Ausgangspunkt.
quelle
Ich sichere mehrere 100 GB + SVN-Repositorys mit einfachem alten Rsync.
svnadmin dump
undsvnadmin hotcopy
würde Tage auf diesen Repositories dauern.Eine andere Sache, die Sie beobachten sollten, ist,
svnadmin dump
keine Sperren und Hook-Skripte zu sichern.quelle
Folgendes mache ich mit meinen Repositorys: Verwenden Sie einen Ordnersicherungsdienst wie Dropbox (hier ist ein Link zu ihrer Linux-Version ). Sie machen die Dropbox einfach zum Stammverzeichnis Ihres Repositorys (oder sogar darüber) und sie wird jedes Mal gesichert, wenn sich eine Datei ändert. Es wird nicht nur computerübergreifend verfügbar sein, sondern Sie können auch online darauf zugreifen und Versionen davon haben.
Es gibt mehrere solcher Online-Backup-Dienste - die meisten sind bis zu 2 GB kostenlos.
quelle