“tar cfz”与“tar cf – |” gzip“:他们有什么不同? (或如何改进备份)

我想用tar cfz加速备份,这是通常的做法。 但是我的备份文件日益增长,所以速度变慢了。

我想利用在我的服务器可用的几个核心,我想知道是否有任何区别与tar cfz或pipe道tar备份到gziptar cf - | gzip tar cf - | gzip

我想没有什么区别,因为第一个产生了两个进程(tar和gzip),类似的方式就像pipe道一样。

如果没有差别,你知道有没有不同的做法,而不是增量? 我也在看pigz ,看起来很好。

当你说你想利用多个核心的含义是,你的焦油与gzip是CPU绑定,而不是IO绑定,你确定是这样吗? 如果您不确定是否需要运行sar,iostat,top或者查看监控图等等。 从来没有一个好主意,试图解决一个问题,而不是先了解它。 当然不是这样说的,但是我的猜测是,即使用gzip压缩,你也会更有可能被IO绑定。

如果是IO绑定,并且有多个数组,则每个数组的单独进程可能是有意义的。

我也是大卫的build议,要考虑增量。

你不可能像这样摆弄targzip的原始performance, 为了更好地利用硬件,您可以将文件夹分成不同的部分,并同时执行多个存档。

你为什么不想要增量? 我build议使用rsnapshot,即使你在本地做这个,因为它有能力使用硬链接,让你节省磁盘空间,同时仍然保持精确的副本多次

如果你是CPU绑定(而不是绑定!),你可以使用pigz 。 它将传播gzip在多个核心。 我用它来备份。 它在gzip替代下降:

 tar cf - | pigz