Мне нравится делать резервную копию своего NAS на базе Linux (небольшие файлы, например изображения) на подключенный 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/. &
Только не используйте параметры синхронизации владельца / группы. Если вы используете --archive
/-a
эта опция включает эти два, поэтому вместо этого укажите флаги по отдельности и опустите их. Проверьте страницу руководства, чтобы узнать, что --archive
подразумевает.
Я долго безуспешно пытался понять, как заставить rsync не копировать каждый файл каждый раз. Но я только что наткнулся на ответ. Это проблема с коротким именем файла FAT32; по-видимому, по умолчанию Linux преобразует их во все строчные буквы, что мешает rsync видеть, что это один и тот же файл в источнике и месте назначения.
Решение состоит в том, чтобы смонтировать устройство FAT32 с опцией «shortname = mixed». Я считаю, что вам также нужно использовать кодировку utf8, например. 'iocharset = utf8'. Затем запустите rsync с параметрами: -rtv --modify-window = 1
В Debian с Trinity я могу щелкнуть правой кнопкой мыши значок раздела FAT32 на рабочем столе, «Свойства / монтирование», установить для кратких имен значение «Смешанный» и убедиться, что установлен флажок «Кодировка UTF-8». Надеюсь, есть способ сделать их значениями по умолчанию для всех разделов FAT32, но я еще не искал этого.