Как я могу использовать rsync с файловой системой FAT?

27

Я хотел бы написать простой скрипт резервного копирования, который сохраняет некоторые данные на диск FAT. Стоит ли переформатировать диск и использовать лучшую файловую систему или можно использовать rsync с FAT? Если так, с какими проблемами я могу столкнуться? Будет ли производительность намного хуже?

РЕДАКТИРОВАТЬ: Это на Linux, даже не знал, что Rsync для Windows. Источниками являются различные файловые системы (это беспорядок), и место назначения в настоящее время отформатировано в FAT32.

Спасибо за ваши ответы, я, вероятно, пойду на переформатирование, так как я не совсем уверен в размерах файлов, которые у нас будут.

Ким
источник

Ответы:

10

Я бы порекомендовал переформатировать в linux fs, если возможно. Как уже упоминалось, FAT имеет относительно низкие ограничения на размер файла и может не обрабатывать права доступа и права владения. Что еще более важно, FAT не отслеживает время изменения файлов так же точно, как, скажем, ext3 (FAT точен только с точностью до 2-секундного окна). Это приводит к особенно неприятному поведению с rsync, поскольку иногда он решает, что исходные файлы новее или старше, чем файл резервной копии, настолько, что ему необходимо повторно скопировать данные или, по крайней мере, повторно проверить хэши. В целом, это создает очень плохую производительность при резервном копировании. Если вам нужно придерживаться FAT, посмотрите на флаги rsync --size-only и --modify-window как обходные пути.

thraxil
источник
36

Я использую rsync для резервного копирования моих фотографий, которые храню и обрабатываю на ноутбуке под управлением Linux (Ubuntu 10.4). Я делаю их резервную копию на очень простом NAS с жестким диском 1 ТБ, отформатированным как FAT32 Корпус NAS и прошивка очень просты, поэтому не позволяют переформатировать накопитель.

Команда, которую я использую:

$ rsync --progress --modify-window=1 --update --recursive --times \
  /home/mloskot/Pictures /mnt/nas/Pictures

Чтобы разрешить правильное сравнение времени, используется опция --modify-window = 1, поскольку FAT32 записывает временные метки файлов с разрешением 2 секунды, которое отличается от файловых систем, используемых в Linux. Параметр --update позволяет избежать ненужного копирования существующих файлов - он работает как инкрементное резервное копирование.

Чтобы сделать сравнение по размеру, вы можете указать опцию --size-only.

mloskot
источник
Спасибо, что поделились, я буду проверять вашу комбинацию флагов :-) Руководство по rsync немного громоздкое ...
DutchUncle
3
--modify-window = 1 имеет огромное значение. Это решило - теперь я делаю это за миллисекунды, а не за минуты.
Вольфганг Фахл
4
По какой-то причине мне нужно использовать --modify-window=2. При 1его использовании все равно копируются все файлы. Копирование из NTFS в FAT32.
Люк
Иногда даже при использовании --modify-windowrsync будет настаивать на копировании всех моих файлов. Я использую --size-onlyопцию сейчас, и это работает нормально. Это было от Mac OS Extended (с учетом регистра, в журнале) до FAT32.
diachedelic
Вероятно, хорошая идея добавить «--ignore-errors --max-size = 4GB», чтобы избежать сбоев в файлах, которые не вписываются в FAT32.
Максим
2

Это rsync на Linux с / на диск FAT (какая версия FAT?) Или вы используете версию Windows cwRsync?

В любом случае FAT16 и 32 работают с обеими версиями (сам FAT12 не пробовал). Если вы работаете в системе Linux, я ожидаю, что производительность файловой системы FAT будет немного хуже, чем при использовании файловой системы формата Linux, поскольку в целом они немного медленнее (рад, что кто-то исправит меня, если я неправильно).

Chopper3
источник
1

Да переформатировать! Вы всегда должны использовать лучшую файловую систему, чем FAT, за исключением случаев, когда это необходимо по причинам совместимости!

Я бы посоветовал вам отформатировать диск, используя ту же файловую систему, с которой вы выполняете повторную синхронизацию, иначе вы потенциально потеряете разрешения и атрибуты, установленные для ваших файлов и каталогов.

FAT (предположительно FAT32) может быть проблематичным из-за максимальных размеров файлов (4 ГБ), максимальных размеров томов (2 ТБ - один день в любом случае!), Фрагментации и т. Д.

Однако, если ничего из этого не имеет значения, и вы просто хотите простую, быструю и максимально совместимую файловую систему, тогда FAT будет в порядке. В отношении скорости, из-за отсутствия журналирования, разрешений и т. Д., FAT может превзойти альтернативы - NTFS / Ext3 / HFS ...

Джон Роудс
источник
1

Есть ли причина, по которой вы используете диск FAT? Rsync должен работать для сохранения данных, но вы потеряете метаинформацию о файлах ... о владельцах, разрешениях и т. Д. ... и у вас возникнут проблемы, если вы когда-нибудь выполните rsync для больших файлов, так как FAT имеет ограничение размера файла в 2 гигабайта.

Производительность я не могу комментировать, я никогда не проводил тесты по сравнению с другими. Я полагаю, что это также имеет непосредственное отношение к собственным спецификациям накопителя и файловой системе.

Если бы вы могли , я бы переформатировал в родной формат, который вы планируете использовать с компьютером (OS X? Linux?), Если бы ни для чего иного, как сохранить метаданные и потерять удар по лбу через несколько месяцев, когда я закончу синхронизировать что-то с ошибками из-за ограничений файловой системы. часто совместное использование с другими системами может быть выполнено с помощью совместного использования экспорта или, если вы используете NTFS, вы можете сохранить некоторые метаданные, но при этом получить большую межсистемную совместимость, поскольку Mac, NT и Linux теперь поддерживают возможность NTFS R / W.

Барт Сильверстрим
источник