在备份过程中进行并发修改:rsync vs dump vs tar vs?

我有一个Linux日志服务器在多个应用程序写入数据。 数据是以脉冲串的forms写入的,并且有许多不同的文件。 我需要对这个混乱做一个备份,最好保持尽可能多的文件版本之间的一致性,避免被截断的文件。 服务器上的数据总量约为100Gb。 我真正想要的(但不能)是closures,备份系统冷,然后重新启动它。

各种备份工具能够提供什么样的保证来防止并发修改? 他们什么时候“冻结”文件版本? 我正在寻找rsync转储和焦油,但我打开其他(开源)的select。

更改应用程序或阻止写入备份可悲的是不是一个选项。 系统还没有运行LVM,但是我已经考虑过重build系统和快照。

您正在考虑的工具都不提供保证,以防止同时修改。 但是,你真的需要一个时间点快照。 如果这样使用上面给出的LVM快照选项。 正如你已经给出了rsync作为一个选项,我假设磁盘到磁盘备份是一个选项。

最不安全的是在读取磁盘块时获取磁盘块的副本。 鉴于您的数据的大小,目录信息和数据之间可能存在显着差异。 对于磁盘到磁盘的备份,你可以把dd作为一个备选的相同大小的分区。 这两个解决scheme基本上是一样的东西,也有同样的问题。

焦油将逐个读取文件,并将读取到每个文件的结尾。 如果在tar备份时文件被重命名或删除,则tar将备份开始读取的文件。 这是日志文件的合理解决scheme。

Rsync的行为像tar,但只复制更改。 本质上它将复制所有更改到目录。 使用基于date的日志循环scheme(logfile。yyymmdd)而不是通用的循环版本scheme(logfile.1 logfile.2gz …)。 它可以有效地备份你的日志文件。

是不是某种types的日志旋转你的select? 只是备份已经旋转的日志文件 – 不是一个解决scheme?

是的 – 否则在LVM级别的快照将是您的最佳select[请记住,当快照处于活动状态时,您的写入性能会降低]。

如果您使用的是系统日志,则可以将日志服务器configuration为将日志实时复制到另一台服务器(例如rsyslog)以进行实时备份。

然后备份所有已经build议长期归档的旋转文件。

也可以为自定义应用程序configurationlogrotate,并且可以将旋转日志应用bash脚本。 所以你可以跳过/ var /完全login外部备份工具,并将日志复制到一个更加静态的归档目录。