【发布时间】:2012-05-31 23:13:33
【问题描述】:
序言
我的 SVN 托管由第 3 方提供,这将我的使用量限制为 300MB。由于该项目规模适中,我从没想过这会是个问题。一旦应用程序投入生产,我意识到我需要某种备份机制。所以我写了一个shell脚本来导出数据库并压缩用户上传的文件。然后我将 .sql 和 .zip 文件都提交到 SVN(SVN 服务器与应用程序不在同一台机器上运行)。
然后今天我注意到我已经超出了配额。我很快意识到这一定是因为备份。
最后...问题
因为 .zip 是二进制文件,我猜每次提交时都会将整个文件添加到存储库中(而对于文本文件,仅添加差异)? .zip 文件目前大约 60MB,所以鉴于备份脚本每天运行,我只能在 SVN 中存储 5 天的备份。
无论如何,我打算通过以下方式改善这种情况:
更改备份脚本,以便将 .zip 的大小与 SVN 中的最新 .zip 进行比较,并且仅在它们不同时才提交。如果自上次运行备份后没有用户上传文件,则两者大小相同
从 SVN 中删除所有旧版本的 .zip 文件以释放一些配额。但是,我不知道这是否真的可能?我的理解是,即使我从工作副本中删除该文件并提交删除,该文件也会从存储库的 HEAD 中删除,但所有先前提交的版本仍然存在(用完我宝贵的配额)。
有什么方法可以永久删除所有旧版本的 .zip,然后使用上述更有效的备份策略重新开始。
【问题讨论】:
标签: svn backup backup-strategies