常用命令之svnadmin命令

一、前言

  svnadmin是svn server的一个管理工具,本质是一个命令集,包含create、dump、load等子命令,此博文主要是为了记录总结SVN相关命令和SVN的备份还原操作。通过SVN命令可以更加灵活的实现我们的SVN备份需求。博文实验环境说明:

  • 操作系统:centos7.6
  • SVN server版本:1.7.14

二、svnadmin常用命令

0、获取命令或者子命令帮助

[svn@s146 svn]$ svnadmin --help
general usage: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS …]

[svn@s146 svn]$ svnadmin help create
create: usage: svnadmin create REPOS_PATH

1、创建一个版本库

[svn@s146 svn]$ svnadmin create repos2
[svn@s146 svn]$ ll
total 0
drwxrwxr-x. 6 svn svn 86 Feb 10 14:49 repos
drwxrwxr-x. 6 svn svn 86 Feb 15 11:05 repos2
#命令行下创建svn账户和授权见博文Linux之YUM方式安装SVN

2、验证版本库保存的数据

[svn@s146 svn]$ svnadmin verify /home/svn/svn/repos2

  • Verified revision 0.
  • Verified revision 1.
  • Verified revision 2.

3、dump备份

#svnadmin dump ― 将文件系统的内容转储到标准输出
[root@s146 tmp]# svnadmin dump -q /home/svn/svn/repos2/ > repos2.`date +%y%m%d%H%M%S`.dmp
#全量备份
[root@s146 tmp]# svnadmin dump -q --deltas --incremental -r 4:4 /home/svn/svn/repos2/ > repos2.deltas.inc.`date +%y%m%d%H%M%S`.dmp
#使用–deltas方式备份,需要更多CPU资源,备份速度更快,这个选项导致svnadmin dump不会保留修改文件的所有内容,而只是记录修改的部分,转储的文件会小一些。
[root@s146 tmp]# svnadmin dump -q --deltas --incremental /home/svn/svn/repos2/ > repos2.deltas.inc.`date +%y%m%d%H%M%S`.dmp
#使用–incremental参数进行增量备份,需要指定增量备份的版本范围,默认备份从0版本开始,相当于是全量备份。
在这里插入图片描述

4、hotcopy热备份

[svn@s146 svn]$ svnadmin hotcopy /home/svn/svn/repos2/ /tmp/repos2bak
#hotcopy热备份相当于是进行一份版本库的拷贝,速度比dump快很多。恢复也很快,如果备机已经安装了svn简单配置后可以使用。
在这里插入图片描述

5、recover将版本库数据库恢复到稳定状态

[svn@s146 repos2]$ svnadmin recover /home/svn/svn/repos2/
Repository lock acquired.
Please wait; recovering the repository may take some time…

Recovery completed.
The latest repos revision is 4.

6、load恢复转储备份文件

1)、首先清空版本库方式模拟svn发生灾难。
在这里插入图片描述
2)、svnadmin load命令恢复版本库。
在这里插入图片描述

7、lstxns打印所有未提交的事物名称

[svn@s146 repos2]$ svnadmin lstxns /home/svn/svn/repos

8、rmtxns从版本库删除事物

[svn@s146 repos2]$ svnadmin rmtxns /home/svn/svn/repos `svnadmin lstxns /home/svn/svn/repos`

猜你喜欢

转载自blog.csdn.net/carefree2005/article/details/122929148
今日推荐