备份大文件的有效方法是什么?

备份大文件的有效方法是什么?

我有一个在 Windows Server 中备份大文件的计划任务,需要将近 2 个小时才能完成。

目前,我只使用.bat 中的复制命令并将大文件复制到另一个文件夹。

我想知道是否有比复制命令更有效的方法来备份大文件(大约 90GB)。例如,编写一个 c++ 程序来复制文件,而不是复制命令。

非常感谢。

答案1

您使用的复制命令可能已经用 C++ 或 C 编写,甚至是使用较低级别的例程编写,因此,仅使用这些语言中现有的复制函数或方法并不会带来任何速度上的提升。

答案2

您将受到磁盘限制。最终语言/机制很可能保持不变(系统调用)。最快的方法是将磁盘升级到更高的 RPM 和/或使用条带 RAID 配置。

但请确保您在两个独立的物理驱动器之间进行复制。(即从一个驱动器读取并写入另一个驱动器)。

如果可能的话,只保存更改(增量),而不是整个文件,也许每周进行一次完整备份。此外,如果文件非常适合压缩(例如纯文本),那么在写入磁盘之前进行压缩会快得多。

答案3

如果您需要保留文件 ACL,请考虑使用 xcopy 或 robocopy。我用它将近 600 GB 的数据从 2 个不同的磁盘(400GB + 200GB)镜像到备份磁盘。每日更改量接近 2GB(主要是小文件),并在 45 分钟内完成复制。初始镜像将花费一些时间,与您的数据成正比。

如果不需要保留 ACL,Terracopy 会更快

答案4

如果问题是个备份文件时有两个小时的停机时间,你可能会:

1. 将文件移至同一磁盘/阵列的其他位置。

只要您不跨过另一个磁盘,移动应该几乎是立即的。需要磁盘空间。移动后,您应该能够重新启动写入这些文件的过程,只需几分钟的延迟。您备份移动的文件。

2.重命名文件

文件仍位于同一位置,但名称不同。

您可以重命名文件。需要磁盘空间。移动后,您应该能够重新启动写入这些文件的过程,只需几分钟的延迟。您备份重命名的文件。

3. 备份文件之前先将其存档

如果可以压缩这些大文件,您既可以节省备份时间,又可以使用更少的磁带,从而实现双重节省。 一定要选择一个好的归档程序。

相关内容