Назад | Перейти на главную страницу

Передача с Synology NAS на Mac: rsync создает одинаковые папки на одном диске (NAS rsync и Mac rsync дают разные шестнадцатеричные дампы)

Резюме:

Я использую следующую настройку для резервного копирования данных с Synology NAS на удаленный диск через rsync.

Проблема: Я получаю две копии всех данных (файлов или папок) со специальными символами.

Вопрос: Есть ли способ использовать один и тот же базовый процесс (первое резервное копирование локально через NAS, остальное через Mac, используя rsync) без вышеуказанной проблемы?

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

Полное описание:

У меня есть установка, которая существует уже много лет. Действительно, с тех пор, как мне удалось решить начальную проблему со специальными символами (подробно здесь), после чего я использую параметр "--iconv = utf-8-mac, utf-8" для rsync на Mac. Настройка такая:

Расположение 1: Synology NAS

Местоположение 2 (в далекой галактике): Mac с внешним диском (Mac OS Journaled)

Задача: задание rsync на Mac по извлечению папок на внешний диск (расположение 2) из ​​NAS (расположение 1).

Теперь я планирую установить новый диск (также с журналом Mac OS) в Location 2. Поскольку для передачи требуется около 2 ТБ данных, я сделал следующее:

  1. Место 1: подключил новый диск к NAS благодаря чудесам USB.

  2. Расположение 1: отправил данные на новый диск с помощью задания rsync на NAS.

  3. Путешествовал в далекую галактику, которую мы здесь называем Локацией 2.

  4. Расположение 2: инициализировано ограниченное задание rsync pull с Mac, теперь с подключенным новым диском.

Проблема: По какой-то причине шаг (4) не завершился за 2 секунды без каких-либо изменений, но начал жаловаться, что «файл исчез:… [указанное местоположение файла]» для большой загрузки файлов. Затем он начал копировать папки и файлы на диск - хотя они уже были там! Спустя 70 ГБ, насколько я мог судить, он сделал полностью избыточную копию всех папок, в имени которых были специальные символы (и дублирующую копию всех файлов со специальными символами в их имени в папках, в которых не было специальных символов в их название). Например:

drwxrwxrwx   5 _unknown  _unknown      170 Aug  7  2013 Pippi Långstrump-Pippi i Söderhavet
drwxrwxrwx   5 _unknown  _unknown      170 Aug  7  2013 Pippi Långstrump-Pippi i Söderhavet

Эти две папки кажутся полностью идентичными, но они перечислены рядом друг с другом как две отдельные папки. Если я использую графический интерфейс Mac, я могу ввести каждый из них и увидеть, что они содержат одинаковые (качественно идентичные) три трека (я даже не знаю, как разделить их с помощью командной строки, но с помощью графического интерфейса я могу визуально увидеть, что Я вхожу в разные папки). И они не просто виртуальные, поскольку общий размер подмножества данных увеличился с 64 ГБ до 82 ГБ.

Что случилось? На мой нетренированный глаз кажется, что процесс rsync, инициализированный на Mac, не может «видеть», что исходные файлы на NAS уже присутствуют на целевом диске, и помещать их туда снова. Когда терминал Mac отображает имена файлов и папок, он, очевидно, использует одни и те же символы, но он все равно должен интерпретировать их как разные «внизу», поскольку в противном случае файловая система не позволила бы этого.

Но это еще не все. Когда я пытаюсь заставить систему хранить только одну из папок / файлов со специальными символами с помощью опции --delete, все просто происходит повсюду. Папки действительно удаляются, но новые - это копии, и в итоге я все еще сижу с дубликатами и в результате 82 ГБ в подмножестве вместо 64 ГБ.

Что происходит и что я могу с этим поделать?

ИЗМЕНИТЬ 11 сен: Мудрый Томаш Поспишек (хорошо знакомый со специальными персонажами, я полагаю;) посоветовал мне пойти «под капот», и поэтому я использовал его команду (на Ронье вместо Пеппи, поскольку у меня было слишком много разных папок Пеппи). Простой «ls -l» дал мне:

drwxrwxrwx   2 _unknown  _unknown        68 Aug  7  2013 Ronja Rövardotter
drwxrwxrwx   2 _unknown  _unknown        68 Aug  7  2013 Ronja Rövardotter

в то время как

sh-3.2# ls -l Ronja* | hexdump -C

привело к:

00000000  52 6f 6e 6a 61 20 52 6f  cc 88 76 61 72 64 6f 74  |Ronja Ro..vardot|
00000010  74 65 72 3a 0a 0a 52 6f  6e 6a 61 20 52 c3 b6 76  |ter:..Ronja R..v|
00000020  61 72 64 6f 74 74 65 72  3a 0a                    |ardotter:.|

или, если я немного разберусь:

52 6f 6e 6a 61 20 52 6f cc 88 76 61 72 64 6f 74 74 65 72 3a 0a 0a |Ronja Ro..vardotter:..
52 6f 6e 6a 61 20 52 c3 b6 76 61 72 64 6f 74 74 65 72 3a 0a       |Ronja R..vardotter:.

Другими словами, они не идентичны, а только внешне отображаются как таковые.

Спасибо за это. Но что мне с этим делать? Есть ли способ отформатировать диск (например, с учетом регистра), чтобы и NAS, и мой Mac могли правильно записывать на диск? Или нет никакого способа укусить пулю, то есть подключить диск к локальному Mac (местоположение 1) и сделать первое резервное копирование через Ethernet? Это займет вечность по сравнению с подключением USB 3, но, по крайней мере, резервная копия будет «интерпретироваться Mac» как локально, так и удаленно. Что ты предлагаешь?

РЕДАКТИРОВАТЬ 14 сен: Полезный Томаш далее предложил (в комментариях ниже), что я должен попытаться выполнить rsync одного файла со специальными символами в имени, чтобы посмотреть, что тогда произойдет (и он предлагает обходной путь). К сожалению, происходит то, что у меня остаются два файла на целевом диске с кажущимися одинаковыми именами, но при шестнадцатеричном дампе вы можете увидеть, что они закодированы по-разному. Моя проблема заключалась в том, что я не мог правильно удалить оба файла. То есть, когда я удалил их с помощью «rm», так что файлы не были видны («ls -l» не перечислил их), я все еще мог видеть файлы (или папки; то же самое там) в Mac Finder. Это происходило, даже если я перезагружал систему и т. Д., Поэтому каким-то образом информация о файле была там для отображения Mac Finder, даже если они не появлялись из списка команд.

В этот момент я как бы бросил полотенце и пошел на трусливое решение, просто стереть диск и вернуться к извлечению данных с исходного сайта (местоположение 1) с помощью Mac и той же команды rsync. С точки зрения передачи это заняло гораздо больше времени, но напрямую «решило» проблему. Теперь у меня все настроено, работает как часы.

Однако проблема как таковая еще не решена. То есть хотелось бы знать, как:

Если кто знает, ответьте на вопрос, и я сразу отмечу вас как решателя проблем (и героя)!

ПРИМЕЧАНИЕ. Этот вопрос теперь похож на небольшую сказку «что я делал прошлым летом», поэтому я переписал приведенное выше резюме, чтобы потенциальные решатели проблем изменили представление о том, в чем заключается основной вопрос.