,

SVN Subversion Backup e Restore

Questa è una guida veloce su come fare il backup (dump) e ripristinare (load) un repository SVN (Subversion) su Linux.

Questo compito è in realtà molto semplice ma allo stesso momento molto importante. Eseguire il backup ed il ripristino di un repository SVN è molto utile quando si desidera spostare i propri repository  su di un nuovo server o è necessario recuperare dati persi o danneggiati. In questa breve guida si suppone che abbiate già a disposizione un repository Subversion (SVN). Nella guida utilizzeremo un repository  di esempio “testrepo”

 

1. Backup (dump) del repository SVN (Subversion)

1.1 Creiamo il  Dump

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

Esempio reale

svnadmin dump /var/www/svn/testrepo > /backups/testrepo.dump

1.2 Comprimiamo il dump creato con Gzip

gzip -9 /path/to/reponame.dump

Esempio reale

gzip -9 /backups/testrepo.dump

 1.3 SVN Dump e Gzip del Dump in un unico comando

svnadmin dump /path/to/reponame | gzip -9 > /path/to/reponame.dump.gz

Esempio reale

svnadmin dump /var/www/svn/testrepo | gzip -9 > /backups/testrepo.dump.gz

 

2. Restore (load) del repository SVN (Subversion)

 2.1 Unzip del File Dump

gunzip /path/to/reponame.dump.gz

Esempio reale

gunzip /backups/testrepo.dump.gz

 

 2.2 Creazione di un Repository SVN (Subversion) vuoto

svnadmin create /path/to/reponame

Esempio reale

svnadmin create /var/www/svn/testrepo

2.3 Impostiamo i permessi del Repository SVN (Subversion)

chown -R svnuser:svngroup /path/to/reponame

## If you use SELinux then remember also set security context ##
chcon -R -t httpd_sys_content_t /path/to/reponame

## Following enables commits over http ##
chcon -R -t httpd_sys_rw_content_t /path/to/reponame

Esempio reale

chown -R apache:apache /var/www/svn/testrepo

## Set security context ## 
chcon -R -t httpd_sys_content_t /var/www/svn/testrepo

## Following enables commits over http ##
chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo

 

2.4 Carichiamo (Load) i dati nel Repository SVN (Subversion) dal Backup

svnadmin load /path/to/reponame < /path/to/reponame.dump

Esempio reale

svnadmin load /var/www/svn/testrepo < /backups/testrepo.dump

 

3. Automatzziamo i Backup del Repository SVN (Subversion)

3.1  Apriamo Crontab in modifica con un utente non privileggiato che abbia accesso al repository SN anche in sola lettura

crontab -e

 

 3.2 Comandi Crontab da aggiungere per eseguire giornalmente o settimanalmente il Dump SVN

@daily svnadmin dump /path/to/reponame > /path/to/reponame.dump
## OR ##
@weekly svnadmin dump /path/to/reponame > /path/to/reponame.dump

Esempio reale

@weekly svnadmin dump /var/www/svn/testrepo > /backups/testrepo.dump

 

3.3 Esempio Avanzato di dump con Time,  Date e Gzip per mantenere uno storico dei dump

@daily svnadmin dump /path/to/reponame | gzip -9 > /path/to/reponame-$(date +"\%Y-\%m-\%d-\%T").dump.gz

Esempio reale

@daily svnadmin dump /var/www/svn/testrepo | gzip -9 > /backups/testrepo-$(date +"\%Y-\%m-\%d-\%T").dump.gz

Mi auguro che questa miniguida sia stata utile.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About Us

Sed gravida lorem eget neque facilisis, sed fringilla nisl eleifend. Nunc finibus pellentesque nisi, at is ipsum ultricies et. Proin at est accumsan tellus.

Featured Posts