这可能是一个愚蠢的问题。但我通过 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
我的理解是,每个都是修订版本。所以如果我备份这个目录,我假设我以后可以恢复这些文件吗?或者不行。抱歉,这是一个新手问题,只是有点令人困惑。
另一个更新: 找到了这个关联这可能会给我一个更好的解决方案:
答案1
答案2
您可能应该使用svnadmin dump
它来进行备份。我强烈建议您阅读svn 书
答案3
斯奎尔曼是正确的。您不会发现文件就放在那里,它们包含在数据库中。这里是一个很棒的 perl 脚本,它可以执行备份、将其复制到另一台机器、测试备份的完整性并通过电子邮件向您发送结果。
答案4
我刚刚完成了一个 shell 脚本,该脚本每月执行一次完整备份,每晚执行一次增量备份,全部备份到异地服务器。它的工作原理如下:
异地服务器每晚运行一个 cron 作业。每月的第一个星期日,此脚本运行ssh svnuser@myhost svnadmin dump /svnpath
并将输出传送到文件。然后,它从文件末尾向后扫描,并将最新的修订号记录在文件中。
在其他所有夜晚,脚本通过 ssh 运行“svnlook youngest /svnpath”,并将输出与最后记录(备份)的修订号进行比较。如果有新的提交,它会运行svnadmin dump -q --deltas --incremental -r $LASTREV+1:HEAD /svnroot
并将输出转储到文件中。
然后它运行一些清理代码来删除超过 $N 天的完整转储以及任何超过最新完整转储的增量转储。