1

Я запустил rsync (3.0.6) в Mac OS X 10.6 (Snow Leopard) для резервного копирования папки с внешнего жесткого диска (FAT32) на другой внешний жесткий диск (FAT32). Как-то определенные файлы (а иногда они меняются!) скопировать с другим именем файла. Например:

campo_2006_valcanale_127.jpg --> CAMPO~40.JPG

Сжатый и верхний регистр, конечно, rsync в следующий раз удалит CAMPO ~ 40.JPG и копирует это снова, но почти всегда это снова запутывается. Иногда это работает, но и файлы, которые были в порядке, повреждаются.

Теперь, если я захожу в каталог назначения и выполняю команду ls -a я не вижу файл campo_2006_valcanale_127.jpg потому что он каким-то образом переименован, но файл campo_2006_valcanale_127.jpg действительно существует! Я могу показать это, я могу написать это и т.д., Просто это невидимо! Может быть, это просто имя файла, которое ведет себя странно ...

Я получаю такое же поведение, когда копирую файлы вручную (используя cp) и даже когда копирую их с помощью «Finder!» Я перетаскиваю файл и его имя меняется!

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

1 ответ1

1

Сокращенные имена файлов являются артефактом FAT32; как вы видели, любой файл с именем длиннее, чем старые 8.3 ограничения, получает сокращенное имя. Используйте правильную файловую систему, которая обрабатывает длинные имена файлов, а не использует причудливый хак, и у вас не возникнет этой проблемы (например, NTFS, HFS, ext - все обрабатывают длинные имена файлов изначально). В Википедии есть больше подробностей о взломе длинного имени файла, который использует FAT32

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

В rsync FAQ есть запись о том, что rsync копирует одни и те же файлы много раз. Короче говоря, это, вероятно, временная метка, которая вызывает большую часть повторной синхронизации; modify-window=1 или, возможно, modify-window=2 должно исправить это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .