rsync с хоста linux на fat32
Я хотел бы сделать резервную копию моего сетевого хранилища на основе Linux (небольшие файлы, такие как picutres) на подключенном USB-диске с FAT32. Для этого мне нравится использовать rsync.
Я знаю, что это не будет работать правильно по умолчанию. rsync будет синхронизировать файлы снова и снова. Я нашел этот вопрос и ответы: Как я могу использовать rsync с файловой системой FAT?
Но даже если я использую --modify-window=1
а также --size-only
Опция, все файлы обрабатываются снова. Журнал выглядит так: rsync пытается установить права доступа / владельца для fat32, что приведет к сбою.rsync: chown "<filename>" failed: Operation not permitted (1)
Вопрос: есть ли способ отключить команду "chown"?
//Редактировать:
В настоящее время я использую следующую команду: rsync -a --modify-window=1 --size-only /data/ /mnt/backup/. &
2 ответа
Просто не используйте параметры для синхронизации владельца / группы. Если вы используете --archive
/-a
опция включает в себя эти два, так что вместо этого укажите флаги индивидуально и не включайте их. Проверьте справочную страницу для списка того, что --archive
влечет за собой.
Я пытался выяснить, как не дать rsync копировать каждый файл каждый раз, долгое время, но безуспешно. Но я просто наткнулся на ответ. Это проблема FAT32 с коротким именем файла; по-видимому, по умолчанию Linux преобразует их во все строчные буквы, что портит способность rsync видеть, что это один и тот же файл в источнике и месте назначения.
Решение состоит в том, чтобы смонтировать устройство FAT32 с опцией 'shortname=mixed'. Я считаю, что вам также необходимо использовать кодировку utf8, например, 'iocharset=utf8'. Затем запустите rsync с параметрами: -rtv --modify-window=1
В Debian с Trinity я могу щелкнуть правой кнопкой мыши значок раздела FAT32 на рабочем столе, "Свойства / Монтирование", установить "Смешанные короткие имена" и убедиться, что проверена кодировка UTF-8. Надеюсь, есть способ сделать эти настройки по умолчанию для всех разделов FAT32, но я пока не искал этого.