阡陌 发表于 2024-2-6 00:11:41

svnadmin 使用笔记



## 热拷贝备份

将整个库都热拷贝一份出来,包括库的钩子脚本、配置文件等,不包括事务文件(所以可能出现热拷贝后库占用空间变小的情况,是不影响正常使用的);任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库。热拷贝出来的库可以直接被 SVN 服务器使用,不需要转换。

可以全量备份也可以增量备份。

```
svnadmin hotcopy REPOS_PATH NEW_REPOS_PATH

# --incremental 增量备份选项,只能用于 FSFS 格式的库
svnadmin hotcopy --incrementalC:\Repositories\test C:\Backup\test
```



## dump 备份

可以全量备份也可以增量备份,可以指定备份的起止版本。

缺点是版本数过大时备份和恢复的时间比较长。

```
svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

svnadmin dump C:\Repositories\test > backup.dump

svnadmin dump C:\Repositories\test -r 100:200 --incremental > backup_100_200.dump

svnadmin create new_repository

svnadmin load new_repository < backup.dump
```



## 事务(txns )

SVN 客户端进程异常中止、网络异常等,可能导致文件提交的事务失败,生成的事务文件会继续占用磁盘,可以删除这些意外中止的事务以节省磁盘空间。

列出所有的事务:

```
svnadmin lstxns REPOS_PATH
```

删除指定的事务:

```
svnadmin rmtxns REPOS_PATH TXN_NAME1 TXN_NAME2 ...
```


页: [1]
查看完整版本: svnadmin 使用笔记