2010-03-02 14 views

risposta

11

Consulta il capitolo Repository Maintenance in The Book su come estrarre un dump dal repository. Quindi utilizzare un servizio a tempo (at o cron, ad esempio, o il programmatore di attività molto utile nei sistemi operativi Windows, dipende dal sistema del server) per eseguire il dump notturno. Fatto.

+0

seconda delle dimensioni del repository una discarica non è il metodo migliore per fare questo, come la creazione di una discarica e il ripristino di una discarica richiederà un certo tempo. Dovresti usare svnadmin hotcopy –

+0

il link a SVNBook va alla versione obsoleta – bahrep

1

Ho appena scritto una breve sceneggiatura per fare il lavoro. La prima esecuzione esegue un backup completo, ogni ulteriore esecuzione fa solo un incremento rispetto all'ultimo commit durante l'ultimo backup. i file di backup otterranno il numero dell'ultima revisione per tracciare la procedura.

Configurare le impostazioni corrette per

WORKDIR=path to where this script resists

SVN_REPO_LOCATION=path to where the repository resists on hd

BACKUPDIR=path to where the backup should goes to

SVN_LOACTION=root location which you use in your svn command

e aggiungere lo script per cronjob, questo è tutto.

#!/bin/bash 
WORKDIR=/home/user/svnbackup 
SVN_REPO_LOCATION=/opt/svn 
BACKUPDIR=./backup 
SVN_LOACTION=https://mysvn.server.com/svn 

cd $WORKDIR; 
CURRENT_VERSION=`svn info $SVN_LOACTION | grep Revision | awk '{print $2}'` 
LAST_VERSION=`cat svn.version 2>/dev/null` 
mkdir -p $BACKUPDIR; 
if [ "$LAST_VERSION" = "" ] 
then 
     echo fullbackup; 
     svnadmin dump -q $SVN_REPO_LOCATION > $BACKUPDIR/svn_backup_$CURRENT_VERSION.dump; 
     echo $CURRENT_VERSION > svn.version; 
else 
     if [ "$LAST_VERSION" == "$CURRENT_VERSION" ] 
     then 
       echo backup not necessary; 
     else 
       echo incremental; 
       svnadmin dump -q $SVN_REPO_LOCATION -r$LAST_VERSION:$CURRENT_VERSION --incremental > $BACKUPDIR/svn_backup_$CURRENT_VERSION.dump; 
       echo $CURRENT_VERSION > svn.version; 
     fi 
fi 
Problemi correlati