可能是一个愚蠢的问题。 但是我通过apt-get安装了SVN 1.4.6。 万事万物都没有问题。 我想备份所有的SVN文件,所以我想到备份/ svn这是appache设置寻找。
无论如何。 我有一个名为retroeventhandler.vbs的文件。 当我跑步
sudo find / -name retroeventhandler.vbs
我没有得到任何回报。 但是我可以通过ip / svn /浏览服务器并查看其中的所有文件。
任何想法,这些文件应该是什么? 我错过了什么
更新基于squillman的职位:
ls -l / svn / repos / avqbsync / db / revs返回
total 35252 -rw-r--r-- 1 www-data root 115 2009-09-01 14:42 0 -rw-r--r-- 1 www-data root 9445835 2009-09-01 14:42 1 -rw-r--r-- 1 www-data root 2490 2009-09-01 14:42 2 -rw-r--r-- 1 www-data root 800 2009-09-01 14:42 3 -rw-r--r-- 1 www-data www-data 4779 2009-09-08 14:06 4 -rw-r--r-- 1 www-data www-data 8914223 2009-09-08 14:45 5 -rw-r--r-- 1 www-data www-data 8816246 2009-09-08 16:28 6 -rw-r--r-- 1 www-data www-data 651 2009-09-08 16:30 7 -rw-r--r-- 1 www-data www-data 862 2009-09-08 16:31 8 -rw-r--r-- 1 www-data www-data 8818276 2009-09-08 16:35 9
我的理解是,这些都是转速或版本。 所以,如果我备份这个目录,我想我以后能够恢复文件? 或没有。 对不起,如果这是一个noob问题,只是有点混乱。
另一个更新:find这个链接 ,可能会给我一个更好的解决scheme:
Subversion将存储库信息存储在平面文件的数据库中。 如果你的版本库位于/ svn,那么这就是你提交的文件的位置。 它实际上不会将存储库数据存储在您在客户端创build的相同文件结构中。 您不会在文件系统级别看到retroeventhandler.vbs。
如果你想浏览版本库,可以使用Subversion客户端 (例如Windows中的TortoiseSVN)或者svnlook。
为了回应你的编辑:
看看这篇文章 ,向底部讨论使用svnadmin dump备份回购。
你应该使用svnadmin dump来做你的备份。 我强烈build议通过svn书阅读
squillman是正确的。 你不会find刚才坐在那里的文件,它们被包含在数据库中。 这是一个很棒的perl脚本,可以执行备份,将其复制到另一台计算机,testing备份的完整性,并将结果通过电子邮件发送给您。
我刚刚完成了一个每月完整备份和夜间增量备份的shell脚本,全部都发送到非现场服务器。 这是如何工作的:
异地服务器运行每晚cron作业。 在每个月的第一个星期天,这个脚本运行ssh svnuser@myhost svnadmin dump /svnpath并将输出pipe理到一个文件。 然后从文件末尾向后扫描,并将最后一个修订号logging在文件中。
在所有其他的夜晚,脚本通过ssh运行“svnlook youngest / svnpath”,并将输出与最后logging的(备份的)修订版本号进行比较。 如果有新的提交,它运行svnadmin dump -q --deltas --incremental -r $LASTREV+1:HEAD /svnroot并将输出转储到文件。
然后运行一些清理代码来删除超过$ N天的完整转储和比最新的完整更旧的任何增量转储。