我每晚都会有一个 posgresql 转储文件,我喜欢保留每一个。每个文件大小为 14 GB,所以我的备份驱动器很快就会满了。
每天的差异只有 100MB。如何进行每日备份而不浪费大量空间。
PS:我用 tar 压缩了 1 个文件,大小降到了 5GB。我希望压缩两个文件时比例会更好,但是没有。压缩后的 2 个转储大小为 10GB
答案1
我想继续 Tometzyk 提到的 rdiff,并建议使用备份软件rdiff-备份。它保留最新备份的镜像副本,并将历史记录保存为压缩的反向差异。我记得我曾经在数据库转储上使用它,并且得到了相当不错的(小)增量。也就是说,你让你的 mysqldump 在每个转储上创建一个具有相同文件名的新文件,然后在该转储上运行 rdiff-backup。
rdiff-backup 既可以在本地运行(包括网络挂载),也可以通过 ssh 运行。请随意查看rdiff-backup 示例页面针对一些常见的使用场景。
答案2
这是另一种方法;由于您的增量备份大小很小,因此可能只有少数 MySQL 表会定期更改,并且您可能正在备份许多每天都不会更改的大型表。如果您能确定是否是这种情况,您可以按较短的时间表(可能每周一次)备份整个数据库,并使用以下方法更频繁地备份较不稳定的表:
mysqldump [database name] [table1 table2 ....]
以下是mysqldump 文档。
答案3
答案4
您可以使用 7zip 实用程序存档文件并将其打包为固定存档