svn的日志文件丢失恢复

svn仓库里的db/revprops/里面存的是svn的操作日志,以版本号的形式存放的单个文件。

svn仓库里的db/revs/里面存的是svn的数据日志,也是以版本号的形式存放的单个文件。

今天准备批量修改操作日志的时候,由于没停服,备份恢复的时候,在时间段内还有操作,导致有一个日志文件丢失。技术人员反映某个目录svn无法查看log,只能提交,不能下载更新。

尝试了许多网上的方案,最后还是伪造日志文件最为方便。

例如丢失的日志文件为:

/data0/svn/dev3/db/revprops/76/76897

直接copy一个旁边的文件。

cp 76898 76897

理论上直接就能用。不过里面的内容还是需要修改成正确的

vim 76897

*K 10
svn:author
V 6
yangli
K 8
svn:date
V 27
2019-10-09T04:06:03.691254Z
K 7
svn:log
V 5
76897
END*

注意上面的数字,10,6,8,27,5分别是下面字符串的长度。这个一定要保持一致,否则会报错哈希没有结束符。

将时间和备注修改正确就行了。

注意:

1、尽量避免操作  SVN的日志文件以及数据文件。

2、操作SVN文件一定要停服、停服、停服。

3、操作之前一定要备份、备份、备份。

4、谨记:运维有风险,操作需谨慎。

吃一堑涨一智,感谢上天保佑没出大问题,以后倍加小心,完善方案再行动。

    原文作者:眷恋江南
    原文地址: https://blog.51cto.com/zhuyuanpo/2440905
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞