我每天晚上都有一个posgresql转储文件,我喜欢保留每一个。 每个都是14 GB的大小,所以我的备份驱动器将很快满。
从一天到另一天的差异只有100MB左右。 如何在不浪费大量空间的情况下进行日常备份?
PS:我用tar压缩1个文件,大小降到5GB。 我希望当我压缩两个文件的比例会更好,但没有。 2个压缩的垃圾是10Gb
我想继续在Tometzyk提到rdiff,并提出备份软件rdiff-backup 。 它保留最近备份的镜像副本,并将历史logging保存为压缩的反向差异。 那些我曾经使用过的数据库转储,我记得有一个相当不错的(小)三angular洲。 也就是说,你有你的mysqldump创build一个新的文件,每个转储具有相同的文件名,然后在该转储上运行rdiff-backup。
rdiff-backup既可以在本地运行(包括通过networking安装),也可以通过ssh运行。 请随意查看rdiff-backup示例页面,了解一些常见的使用场景。
这是另一种方法。 由于你的增量备份规模很小,很可能只有less数几个MySQL表正在定期更新,而且你可能正在备份一些不会每天都在变化的大表。 如果你能确定是否是这种情况,那么你可以按照减less的时间表来备份整个数据库 – 也许每周一次 – 并且更频繁地备份更易变的表,使用:
mysqldump [database name] [table1 table2 ....]
这是一个到mysqldump文档的链接。
librsync中的rdiff是一个开源的程序,它将计算任何(二进制或文本)文件之间的差异(所谓的deltas)。
还有一个备份系统 – 重复 – 使用librsync进行备份的高效存储。
有周围的二进制差分程序。 Tometzky提到rdiff。 我之前使用过bsdiff,但是在大文件上不起作用。
考虑在运行LZMA之类的东西来压缩dump / diff文件。 从我的经验来看,大多数平均3:1压缩(尽pipe图像和video更糟,文本更好,正常的东西)。 LZMA比Tar中的GZIP和BZIP好得多。
您可以使用7zip实用程序存档文件,并将其打包为固定存档