大文件的最快备份

大文件的最快备份

复制包含几百兆大小的几个文件和其他几兆小文件的文件夹的最快方法是什么?(例如,/var/lib/mysql)cp 或 tar 或 rsync 或......??

答案1

rsync 通常比 cp 或 tar 更快,因为 rsync 仅传输已更改的文件,并且使用 --partial 它将仅传输文件已更改的部分。

话虽如此,如果您知道要备份的内容并且可以安排好一切,使 rsync 不必做太多工作,那么 rsync 的效果会更好。例如,如果您将 /var/log 中的轮换日志文件轮换为带有日期的文件名,而不是 .0、.1、.2 等,那么效果会更好。

还有一点需要注意:在您的问题中,您提到了 /var/lib/mysql。使用 rsync 进行备份是一个非常糟糕的主意,请使用 mysqldump 来获得可靠的备份。如果该备份太大而无法频繁传输,请使用 mysql 复制并从从属服务器备份。(不过,您仍然应该定期在主服务器上进行完整备份,复制也可能会失败)。

答案2

取决于几个因素。对于大量小文件,通常最好使用 tar。如果是少量大文件,大多数情况下 cp 就可以了。

如果您有一个文件列表,但只有其中一小部分发生变化,则 rsync 会更高效。

答案3

这取决于您要备份的内容。您不能只使用 rsync 备份实时数据库,否则最终会得到损坏的文件。对于数据库(如 mysql),您需要设置 cron,例如,运行“mysqldump”,然后 rsync 该文件。此外,请确保在文件名后附加“date”,这样您就知道此文件的备份时间,并有多个备份副本以防万一。

答案4

如果您有相当多的小文件,则tar在它们上运行将大大提高传输速度。

如果文件大部分是文本(mysql 二进制文件或数据库不是这种情况),请考虑压缩 tar(bzip2以及类似文件)。否则您将无法从压缩中获得任何东西,因此请保留 tar。

相关内容