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”
svnadmin dump /path/to/reponame > /path/to/reponame.dump
Esempio reale
svnadmin dump /var/www/svn/testrepo > /backups/testrepo.dump
gzip -9 /path/to/reponame.dump
Esempio reale
gzip -9 /backups/testrepo.dump
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
gunzip /path/to/reponame.dump.gz
Esempio reale
gunzip /backups/testrepo.dump.gz
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
svnadmin load /path/to/reponame < /path/to/reponame.dump
Esempio reale
svnadmin load /var/www/svn/testrepo < /backups/testrepo.dump
3.1 Apriamo Crontab in modifica con un utente non privileggiato che abbia accesso al repository SN anche in sola lettura
crontab -e
@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
@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.
This Post Has 0 Comments