如何保存每日 tar.gz 备份,减少冗余数据

如何保存每日 tar.gz 备份,减少冗余数据

和你们大多数人一样,我每天都会为某个文件夹(任何应用程序)制作几个 tag.gz 快照。每个快照之间只有一些不同,但 tar.gz 不是 diff/delta 友好格式。

文件中的大多数数据应该是冗余的。有没有更智能的方法将这些 tar.gz 文件(例如将 7 天的文件合并为一个)重新打包/压缩为一个较小的文件,从而节省多达 6/7 的磁盘容量?

PS. 我不想改变快照部分,这最好简单点。

PS2. 我也不想删除,也不想循环,容量有,但是不喜欢冗余。

答案1

不幸的是,tar 工具有局限性。如果你想重新打包,你必须解包,这会占用大量的硬盘空间和性能,然后再次进行差异备份。效果不佳。

最好制作相同的备份。首先,保存年轻的文件以进行差异备份:

never=/var/run/never
neverold=/var/run/never-old
rm $neverold
mv $never $neverold
touch $never
tar cvzf differential.tar.gz --never $neverold

完成此完整备份后

tar as usual

那么您应该简单地删除旧的每日完整备份。注意,保留指定星期几的完整备份。否则差异可能无法使用。在这些日子里您应该删除不需要的差异。

相关内容