我想编写一个简单的备份脚本,将一些数据保存到 FAT 驱动器。我应该重新格式化驱动器并使用更好的文件系统还是可以将 rsync 与 FAT 一起使用?如果是这样,我可能会遇到什么问题?性能会差很多吗?
编辑:这是在 linux 上,甚至不知道 Windows 有 rsync。源是各种文件系统(一团糟),而目标当前是用 FAT32 格式化的。
感谢您的回答,我可能会重新格式化,因为我不完全确定我们将拥有的文件大小。
我想编写一个简单的备份脚本,将一些数据保存到 FAT 驱动器。我应该重新格式化驱动器并使用更好的文件系统还是可以将 rsync 与 FAT 一起使用?如果是这样,我可能会遇到什么问题?性能会差很多吗?
编辑:这是在 linux 上,甚至不知道 Windows 有 rsync。源是各种文件系统(一团糟),而目标当前是用 FAT32 格式化的。
感谢您的回答,我可能会重新格式化,因为我不完全确定我们将拥有的文件大小。
我使用 rsync 备份我在运行 Linux (Ubuntu 10.4) 的笔记本电脑上存储和处理的照片。我将它们备份到一个非常基本的 NAS,其 1TB 硬盘格式化为 FAT32。NAS 机箱和固件非常基础,因此不允许重新格式化驱动器。
我使用的命令是:
为了进行正确的时间比较,使用了 --modify-window=1 选项,因为 FAT32 以 2 秒的分辨率记录文件时间戳,这与 Linux 上使用的文件系统不同。--update 以避免不必要地复制现有文件 - 它的行为类似于增量备份。
为了进行基于大小的比较,您可以指定 --size-only 选项。
如果可能的话,我建议重新格式化为 linux fs。如前所述,FAT 的文件大小限制相对较低,并且可能无法完全正确地处理权限和所有权。更重要的是,FAT 不会像 ext3 那样精确地跟踪文件的修改时间(FAT 仅精确到 2 秒窗口内)。这会导致 rsync 出现特别令人讨厌的行为,因为它有时会确定原始文件比备份文件更新或更旧,以至于它需要重新复制数据或至少重新检查哈希值。总而言之,它会导致备份性能非常差。如果您必须坚持使用 FAT,请查看 rsync 的 --size-only 和 --modify-window 标志作为解决方法。
这是 Linux 上的 rsync 到/从 FAT(哪个版本的 FAT?)磁盘还是您使用的是 Windows 版本的 cwRsync?
无论哪种方式,FAT16 和 32 都适用于这两个版本(我自己没有尝试过 FAT12)。如果您使用的是 linux 系统,我希望 FAT 文件系统的性能比使用 linux 格式的文件系统要差一些,因为它们通常会稍微慢一些(如果我是,很高兴有人把我放在这个系统上)错误的)。
是的,重新格式化!除非出于兼容性原因,您应该始终使用比 FAT 更好的文件系统!
我建议您使用与 rsync 相同的文件系统格式化驱动器,否则您可能会丢失在文件和目录上设置的权限和属性。
由于最大文件大小(4GB)、最大卷大小(2Tb - 一天!)、碎片等,FAT(可能是 FAT32)可能会出现问题。
但是,如果这些都不重要,而您只想要一个简单、快速和最大兼容的文件系统,那么 FAT 就可以了。速度方面,由于缺少日志、权限等,FAT 可能会胜过替代方案 - NTFS/Ext3/HFS...
您使用 FAT 驱动器是有原因的吗?Rsync 应该可以保存数据,但是您将丢失有关文件的元信息...所有权、权限等...如果您曾经 rsync 大文件,您可能会遇到问题,因为 FAT 的文件大小限制为 2 gig。
性能我无法评论,与其他人相比,我从未对其进行过基准测试。我想这也与驱动器自身的规格以及文件系统有很大关系。
如果可以的话,我会重新格式化为您计划在计算机上使用的本机格式(OS X?Linux?),如果只是为了保留元数据并在我结束几个月后失去前额耳光同步由于文件系统限制而出错的内容。通常与其他系统共享可以通过共享导出来完成,或者如果您使用 NTFS,您可以保留一些元数据,但仍然可以获得大多数跨系统兼容性,因为 Mac、NT 和 Linux 现在都支持 NTFS R/W 能力。