svnbak.pl executing

svnbak.pl executing


What is it?

A Perl cron script that creates and rotates backups of one or more Subversion repositories.

What does it do?

  1. Verifies repositories (svnadmin verify)
  2. Hot copies -or- dumps repositories (uses svnadmin hotcopy -or- svnadmin dump)
  3. Archives all repositories to a single tar file
  4. Gzips tar file
  5. Backup rotation

Other Features

  • Email notifications
  • Nice output
  • Free

Requirements

Operating System: *nix
Perl (5.8.5 or higher)
Subversion
tar
gzip

Proc::Reliable
MIME::Lite
Math::Round

Configure

svnbak.pl: Configuration Section

svnbak.pl Configuration Section

At the top of svnbak.pl is a "Configuration Section" that you must add specific information to in order for the script to work.

  • reposDir: full path to your Subversion repository, or the parent directory of all your repositories.
  • destDir: full path to the directory where the backups should be saved. To save backups to a network file system, first mount the file system, then specify the mounted path.
  • maxBaks: maximum number of backups to retain. Once this limit is reached, the script will automatically remove the oldest backup based on it's last modified time.
  • svnBakMethod: type of Subversion backup to create ('hotcopy' or 'dump').
  • tarballName: the name of the backup file. Each backup file will be appended with a 14 digit time stamp to preserve singularity.
  • tmpDir: full path to a new temporary directory to store files before tarballing. This directory should not be an existing directory - it will be deleted!
  • emailPref: when the admin should receive emails ('always', 'errors', 'none').
  • displayTime: display execution time in seconds, per task.

Change Log

0.0.7 - 20100209

  • fixed failure of external commands running longer than 60 seconds

0.0.6 - 20091116

  • fixed fatal error when backing up a single repository
  • destination directory is created if it does not already exist
  • changed elapsed time format: 'seconds' -> 's'

0.0.5 - 20090326

  • added backup option of dumping repositories via svnadmin dump
  • increased error checking
  • fixed: some repositories skipped when there was a large number of repositories

0.0.1 - 20090108

  • initial release
VN:F [1.8.1_1037]
Rating: 5.0/5 (3 votes cast)
svnbak.pl: perl Subversion repository backup script5.053

Comments

  1. 2010.07.06

    It is working. thanks for the script.
    But i am also looking for a way to backup (scp) to remote server for offside. is there anyway we can add to the script?

    Thanks

  2. Lea
    2010.07.08

    It is working for the scp to remote server. thanks so much.
    But the email is not working. do you have any detail instruction to configure email.

    Thanks again

  3. Leap
    2010.07.19

    How about incremental backup?
    Thanks

Leave a Comment