如何在Rsnapshot远程备份启动之前压缩文件?

我有一些远程服务器和一台备份服务器,我使用Rsnapshot在备份服务器上进行远程备份。 在我的计划中,我想先运行shell脚本来压缩文件,然后Rsnapshot可以备份压缩文件。 在Rsnapshotconfiguration文件中,我find了cmd_preexec ,我想用它,但我不知道如何编写压缩脚本。 任何人都可以帮我的脚本?

任何帮助将不胜感激。 谢谢。

问题是,你为什么要压缩?

压缩以提高传输速度

如果要压缩传输的速度,可以将一个参数添加到rsync以在传输过程中启用即时压缩:

rsync_short_args -az ( 来源 )

压缩以减less备份磁盘上的空间需求

对于压缩备份,rsnapshot似乎真的很糟糕。 我发现一些解决scheme来压缩备份服务器上的文件:

(…)(第二及以后)档案集中的一些文件可以被压缩,不在链接集中的文件。

find daily.1 -links 1 -size +1M ! -name "*.bz2" -print | grep -v \.svn | xargs pbzip2 -v

还原

find daily.1 -links 1 -name "*.bz2" -print | xargs pbzip2 -d -v

只能在configuration中使用最短的第二个存档集(例如hourly.1,daily.1或weekly.1)。

( 来源 )。

如果要在不受干扰的情况下减less空间要求,也可以在目标文件系统上使用透明压缩。 我知道ZFS和BTRFS本身就提供这个function。 如果您的硬盘是SSD,则可能已经在您的所有文件内部进行了透明压缩。