SVN(Subversion)备份和还原

1.备份(转储)SVN(Subversion)存储库

1.1从SVN(Subversion)存储库创建转储


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

真实的例子


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

1.2 Gzip创建的转储


gzip -9 /path/to/reponame.dump

真实的例子


gzip -9 /backups/testrepo.dump

1.3带有单线的SVN转储和Gzip转储


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

真实的例子


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

2.恢复(加载)SVN(Subversion)存储库

2.1解压转储文件


gunzip /path/to/reponame.dump.gz

真实的例子


gunzip /backups/testrepo.dump.gz

2.2创建空的SVN(Subversion)存储库


svnadmin create /path/to/reponame

真实的例子


svnadmin create /var/www/svn/testrepo

2.3设置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

真实的例子


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从SVN(Subversion)备份将数据加载到存储库


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

真实的例子


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

3.自动SVN(Subversion)存储库备份

3.1编辑Crontab


crontab -e

3.2将SVN转储命令添加到Crontab


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

真实的例子


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

3.3具有时间和日期以及Gzip的更高级的SVN转储示例


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

真实的例子


@daily svnadmin dump /var/www/svn/testrepo | gzip -9 > /backups/testrepo-$(date +"\%Y-\%m-\%d-\%T").dump.gz
原文链接:,转发请注明来源!