我的SVN托管由第三方提供,将我的使用限制为300MB。由于该项目只有中等规模,我从没想过这会是一个问题。一旦应用程序投入生产,我意识到我需要某种备份机制。所以我编写了一个shell脚本,用于导出数据库并压缩用户上传的文件。然后我将.sql和.zip文件都提交给SVN(SVN服务器不在与应用程序相同的机器上运行)。
然后今天我注意到我超过了配额。我很快意识到这一定是因为备份。
因为.zip是一个二进制文件,我想每次提交时都会将整个文件添加到存储库中(而对于文本文件,只添加了diff)? .zip文件目前约为60MB,因此备份脚本每天运行,我只能在SVN中存储5天的备份。
无论如何,我计划通过以下方式改善这种情况:
更改备份脚本,以便将.zip的大小与SVN中的最新.zip进行比较,并且只有在它们不同时才会提交。如果自上次备份运行以来没有用户上传文件,则两者的大小相同
从SVN中删除所有旧版本的.zip文件以释放一些配额。但是,我不知道这是否真的可行?我的理解是,即使我从工作副本中删除文件并提交删除,该文件也将从存储库的HEAD中删除,但所有以前提交的版本仍将存在(使用我的宝贵配额)。 / p>
是否有某些方法可以永久删除所有旧版本的.zip,并使用上述更有效的备份策略重新开始。
答案 0 :(得分:2)
您应该做以下事情来解决问题:
200 MB并不多。如果它仅供参考,那就足够了。