我想编写一个简单的备份脚本,将一些数据保存到 FAT 驱动器。我应该重新格式化驱动器并使用更好的文件系统还是可以将 rsync 与 FAT 一起使用?如果是这样,我可能会遇到什么问题?性能会差很多吗?
编辑:这是在 linux 上,甚至不知道 Windows 有 rsync。源是各种文件系统(一团糟),目标当前是用 FAT32 格式化的。
感谢您的回答,我可能会重新格式化,因为我不完全确定我们将拥有的文件大小。
在 Windows 7/Vista 中使用 FAT32(兼容 Mac)格式化 USB 驱动器的最佳方法是什么?
我问是因为磁盘管理只允许您选择 exFAT(因为我相信磁盘超过 32 GB)。
使用diskpart从命令行执行此操作似乎也不起作用。
为了为我的文件系统创建一个连续的空间来增长,我在 sda1 处创建了一个新的 EFI 系统分区,以便我可以从 sda5 处的当前分区迁移它。除了警告说:
内核:FAT-fs (sda1):卷未正确卸载。某些数据可能已损坏。请运行 fsck。
当我第一次创建 EFI 分区时,我没有注意到已经存在两天的警告。我卸载了文件系统并按如下方式执行了文件系统检查:
# umount /dev/sda1
# fsck -V /dev/sda1
fsck from util-linux 2.24
[/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/sda1
fsck.fat 3.0.24 (2013-11-23)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Leaving filesystem unchanged.
/dev/sda1: 14 files, 2435/51145 clusters
Run Code Online (Sandbox Code Playgroud)
我认为去除脏位可以解决这个问题。但它没有。实际应该怎么做?
闪存驱动器应该格式化为 NTFS 吗?这样做的利弊是什么?
我喜欢将我的基于 linux 的 NAS(像 picutres 之类的小文件)备份到带有 FAT32 的附加 USB 磁盘。为此,我喜欢使用 rsync。
我知道,默认情况下这不会正确工作。rsync 将一次又一次地同步文件。我找到了这个问题和答案:How can I use rsync with a FAT file system?
但是,即使我使用--modify-window=1and--size-only选项,也会再次处理所有文件。日志看起来像,rsync 尝试在 fat32 上设置权限/所有权,这将失败。
rsync: chown "<filename>" failed: Operation not permitted (1)
问题是:有没有办法禁用“chown”命令?
//编辑:
目前我使用以下命令: rsync -a --modify-window=1 --size-only /data/ /mnt/backup/. &
我可以通过控制台访问嵌入式 linux 设备。该设备的闪存部分被分区为 FAT 文件系统。
它运行的是 linux-2.6.31。
但是,这些天我在控制台上看到这些错误,并且 FAT 文件系统变为只读。
111109:154925 FAT: Filesystem error (dev loop0)
111109:154925 fat_get_cluster: invalid cluster chain (i_pos 0)
111109:154925 FAT: Filesystem error (dev loop0)
111109:154925 fat_get_cluster: invalid cluster chain (i_pos 0)
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会这样?根本原因是什么?修复方法是什么?我将不胜感激可以指出如何调查设备上此问题的可能根本原因的答案。
我需要一些关于我的 Linux 机器上托管的新 1TB 媒体服务器使用什么文件系统的建议。我有几个要求:
需要可共享到不同的 Windows 机器(不是双启动,完全不同的机器)。我看到至少可以选择使用 ext3 来做到这一点,因为我认为这将是一个相当罕见的情况,我能够接受这个。
绝对需要能够在我运行 XBMC 的 Xbox 上通过 Samba 访问(并且与 Xbox 360 共享可能会在它的未来)。
需要允许大于 4GB 的文件大小。
需要与我构建的任何未来媒体服务器/前端共享(都将运行 Linux 变体,例如 Boxee、XBMC、Myth*)。
我猜由于文件大小要求,Fat32 已经过时了,虽然我以前使用过 NTFS,但我更喜欢 Linux 原生的东西。我对任何事情都持开放态度,谢谢。
我的一个客户的备份硬盘驱动器上遇到了一个奇怪的问题:该硬盘驱动器采用 FAT32 格式,昨晚我们的备份作业在子目录上抛出了一个错误,声称它无法复制必须复制的文件。
当然,我首先检查了磁盘大小,但是有足够的空间。给出的错误是0x80070052,如果我将其放入搜索引擎,我会得到如下结果:http ://www.quickonlinetips.com/archives/2007/09/how-to-fix-error-0x80070052-on-usb-闪存驱动器/
但该分区的根目录下只有 8 个文件/目录。所以我继续决定自己测试一些东西。创建一个文件(例如名为“test.txt”)确实有效。但是使用备份作业失败的文件名之一创建文件不起作用,而是出现了与上面相同的错误。我测试了一下,发现我可以在该子目录中创建一个包含 10 个字符的文件,再多一个字符,就会失败。
检测到这一点后,我在该子目录中创建了一个目录(名为“test”),并将一些文件从子目录移动到新目录中,完成后,我尝试创建一个包含 11 个字符的文件(这不起作用)之前)并且它起作用了。
现在,显然从观察来看,对于 FAT32 的单个目录内的所有文件名可以使用多少个字符,似乎存在某种硬限制,但我找不到有关该硬限制的任何信息,或者是否有其他文件系统(尤其是 NTFS) ,我猜这将是这种情况下的替代方案)具有类似的限制。
如果有人可以向我提供有关观察到的行为的信息,那就太好了!
编辑
一位同事告诉我将确切的文件夹放在另一个 FAT32 驱动器上,因为他曾经在使用特定制造商的 USB 控制器时遇到过问题。我尝试了两个来自不同制造商的 USB 记忆棒,均为 FAT32 格式,两者都显示出与上述完全相同的行为。
让您了解所涉及的文件数量:大约有 10200 个文件,每个文件的文件名长度在 80 到 110 个字符之间,不包括文件路径(这似乎无关紧要),因此大约有涉及一百万个字符。
有人告诉我,对碎片最少的驱动器 (<2%) 进行碎片整理并不总是一个好主意;并且它可能会导致性能问题。
他们是对的,为什么/为什么不对?