You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Tim Moloney <mo...@mrsl.com> on 2002/05/02 12:01:12 UTC
Patch to hot-backup.py
I don't know Python but I was able to modify hot-backup.py to accept
the name of the repository to backup. Hopefully, others will find it
useful.
--- hot-backup.py.orig Thu Apr 11 13:56:18 2002
+++ hot-backup.py Thu May 2 07:51:31 2002
@@ -1,8 +1,12 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
#
# hot-backup.py: perform a "hot" backup of a Berkeley DB repository.
# (and clean old logfiles after backup completes.)
#
+# Modifications from version distributed with Subversion:
+# - accept a command line argument to specify which repository
+# to backup
+#
# Subversion is a tool for revision control.
# See http://subversion.tigris.org for more information.
#
@@ -22,18 +26,18 @@
######################################################################
-import os, shutil, string
+import sys, os, shutil, string
######################################################################
# Global Settings
# Path to repository
-repo_dir = "/usr/www/repositories/svn"
+base_repo_dir = "/var/svn"
# Where to store the repository backup. The backup will be placed in
# a *subdirectory* of this location, named after the youngest
# revision.
-backup_dir = "/usr/backup"
+backup_dir = "/var/backup/svn"
# Path to svnadmin utility
svnadmin = "/usr/local/bin/svnadmin"
@@ -46,8 +50,18 @@
######################################################################
-print "Beginning hot backup of '"+ repo_dir + "'."
+if len(sys.argv) < 2:
+ print "usage: svn-backup <repo>"
+ sys.exit(0)
+
+repo = sys.argv[1]
+
+repo_dir = os.path.join(base_repo_dir, repo)
+if not os.path.exists(repo_dir):
+ print "repository does not exist:", repo_dir
+ sys.exit(0)
+print "Beginning hot backup of '"+ repo_dir + "'."
# Step 1: get the youngest revision.
@@ -64,7 +78,7 @@
# Step 2: copy the whole repository structure.
-backup_subdir = os.path.join(backup_dir, "repo-bkp-" + youngest)
+backup_subdir = os.path.join(backup_dir, repo + "-" + youngest)
print "Backing up repository to '" + backup_subdir + "'..."
shutil.copytree(repo_dir, backup_subdir)
print "Done."
--
Tim Moloney
ManTech Real-time Systems Laboratory
2015 Cattlemen Road \ /
Sarasota, FL 34232 .________\(O)/________.
(941) 377-6775 x208 ' ' O(.)O ' '
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org