VPS 服务器缺少文件

VPS 服务器缺少文件

今天发生了一件最奇怪的事。我试图访问 SVN 仓库,但它给了我一个错误,查看后我发现所有文件都丢失了。

我有以下目录结构: /coding/svn/reposotory/company/project1/ /coding/svn/reposotory/company/project2/ /coding/svn/reposotory/company2/project1/

在 project1、project2 中都有 repos...现在我仍然有文件夹...但如果我查看 project1,例如,它全是空的。

我甚至无法想象它们去了哪里。而且很奇怪,目录还在,但文件却不见了。

澄清 我说的不是 SVN 控制下的文件,而是实际的 repo 文件( hooks、db、整个目录)

答案1

您是否考虑过文件系统损坏?大量丢失的文件强烈表明存在此类问题。检查 dmesg 以查找分区或文件系统相关的错误。

答案2

尝试一下svn info,检查输出

Last Changed Rev: 1184
Last Changed Date: 2009-06-20 21:38:57 +1000 (Sat, 20 Jun 2009)

如果最后更改日期是最近的,则很可能是有人犯了错误并svn mv意外地编​​辑或覆盖了该日期。

答案3

经过我和服务器支持人员的大量搜索,我们无法确定服务器文件消失的位置。我们已放弃查找,并假设这是一个非常奇怪的文件系统错误。

答案4

(注意:这是在问题发布者澄清“查看[repo]”之前发布的,他不是在查看存储在 repo 中的文件,而是在查看 repo 之外的文件,即 svn 数据库文件。)

svn log -v file:///home/repo在 repo 的根目录下(根据需要更改 URL)将为您提供 repo 的所有更改,从最近的工作开始,列出已添加、删除和修改的文件。使用这个,您可以确定是否有人移动或删除了您要查找的文件。

如果这不起作用,则您会遇到以下两个问题之一:

  1. 您会收到类似这样的消息Unable to open repository,在这种情况下,您的存储库 URL 是错误的。找出您的存储库的实际位置。它将包含诸如README.txt、、和之conf类的文件和目录。dbformathooks

  2. 您的 URL 不是存储库的根目录,而是存储库内的 URL(如果日志中的版本号不是按顺序递减,则会出现这种情况)。删除 URL 中路径末尾的最后一个元素,然后重试。

相关内容