Я хотел бы написать простой сценарий резервного копирования, который сохраняет некоторые данные на диск FAT. Следует ли переформатировать диск и использовать лучшую файловую систему или можно использовать rsync с FAT? Если да, то с какими проблемами я могу столкнуться? Будет ли производительность намного хуже?
РЕДАКТИРОВАТЬ: это на Linux, даже не знал, что для Windows есть rsync. Источниками являются различные файловые системы (это беспорядок), а место назначения в настоящее время отформатировано в FAT32.
Спасибо за ваши ответы, я, вероятно, переформатирую, так как я не совсем уверен в размерах файлов, которые у нас будут.
Я использую 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.
Я бы порекомендовал переформатировать Linux на fs, если возможно. Как уже упоминалось, FAT имеет относительно низкие ограничения на размер файла и может неправильно обрабатывать разрешения и права владения. Что еще более важно, FAT не отслеживает время модификации файлов так же точно, как, скажем, ext3 (FAT работает только с точностью до 2-секундного окна). Это приводит к особенно неприятному поведению с rsync, поскольку иногда он решает, что исходные файлы новее или старше, чем файл резервной копии, настолько, что ему необходимо повторно скопировать данные или, по крайней мере, повторно проверить хэши. В целом, это приводит к очень низкой производительности резервного копирования. если ты должен придерживайтесь FAT, посмотрите на флаги rsync --size-only и --modify-window как обходные пути.
Это rsync в Linux на / с диска FAT (какая версия FAT?) Или вы используете версию cwRsync для Windows?
В любом случае, FAT16 и 32 работают с обеими версиями (сам FAT12 не пробовал). Если вы работаете в системе Linux, я бы ожидал, что производительность файловой системы FAT будет немного хуже, чем при использовании файловой системы в формате Linux, поскольку в целом они немного медленнее (счастлив, что кто-то меня правильно поставил, если я неправильно).
Да переформатировать! Вы всегда должны использовать лучшую файловую систему, чем FAT, кроме случаев, когда это необходимо по соображениям совместимости!
Я предлагаю вам отформатировать диск, используя ту же файловую систему, с которой вы выполняете синхронизацию, иначе вы потенциально потеряете разрешения и атрибуты, установленные для ваших файлов и каталогов.
FAT (предположительно FAT32) может быть проблематичным из-за максимального размера файла (4 ГБ), максимального размера тома (2 ТБ - в любом случае, один день!), Фрагментации и т. Д.
Однако, если все это не имеет значения и вам просто нужна простая, быстрая и максимально совместимая файловая система, тогда подойдет FAT. С точки зрения скорости, из-за отсутствия журналирования, разрешений и т. Д., FAT, возможно, может не выполнять альтернативы - NTFS / Ext3 / HFS ...
Есть ли причина, по которой вы используете диск FAT? Rsync должен работать для сохранения данных, но вы потеряете метаинформацию о файлах ... владении, разрешениях и т. Д., И вы рискуете получить проблемы, если когда-нибудь rsync большие файлы, поскольку FAT имеет ограничение на размер файла в 2 гигабайта.
Производительность я не могу комментировать, я никогда не тестировал его по сравнению с другими. Я полагаю, что это также во многом связано с собственными спецификациями диска, а также с файловой системой в отношении этого.
если ты мог, Я бы переформатировал его в собственный формат, который вы планируете использовать с компьютером (OS X? Linux?), Если бы только для того, чтобы сохранить метаданные и потерять пощечину лбом через несколько месяцев, когда я закончу что-то синхронизировать это ошибки из-за ограничений файловой системы. часто совместное использование с другими системами может быть выполнено путем совместного использования экспорта или, если вы используете NTFS, вы можете сохранить некоторые метаданные, но при этом получить максимальную межсистемную совместимость, поскольку Mac, NT и Linux теперь поддерживают возможность NTFS R / W.