Subversion backup and restore

Subversion bietet zwei Backup-Strategien an:

  1. Einen Repository-Dump
  2. Ein Hot-Backup (erstellen einer 1:1 Kopie)

Beispiel Repository-Dump:

Backup:

  • svnadmin dump /path/to/reponame > /backup/reponame.dump

Restore:

  • svnadmin load /path/to/reponame < /backup/reponame.dump
  • chown -R svn:svnusers /path/to/reponame ; chmod -R g+w /path/to/reponame/db/



Beispiel Hot-Backup:

Der einfachste (jedoch nicht empfohlene) Weg ein Backup zu erstellen ist die Projektarchiv-Dateien einfach auf ein Backup-Medium zu kopieren. Wenn Sie dies tun, müssen Sie absolut sicher sein, dass während des Kopiervorgangs niemand auf das Projektarchiv zugreift.

Backup:

svnadmin hotcopy /path/to/reponame > /backup/reponame/ –clean-logs

Restore:

cp -R /backup/reponame/ /path/to/reponame

Nun korrigiert man noch einige Filesystem-Privilegien:

chown -R svn:svnusers /path/to/reponame/{dav,db,locks}
chmod -R g+w /path/to/reponame/db/

[Info:]
Subversion liefert in den mit den Subversions-tools, ein Script für das Hot-Backup (auch bei laufenden Transaktionen)mit. Unter /user/share/subversion/tools/backup/findet man (SuSE) hot-backup.py.

./hot-backup.py /path/to/reponame  /backup/

Das Script muss für jedes Projektarchiv ausgeführt werden.
Es wird automatisch der Name (reponame) im Verzeichnis /backup/reponame-XY-N angelegt.

Die Anzahl der im Backup aufgehobenen Kopien kann im Script hot-backup.py eingestellt werden.
Am Anfang der Datei gibt es einen Parameter num_backups unter Global Settings:

# Number of backups to keep around (0 for “keep them all”)
num_backups = 64

powered by performancing firefox