Резюме:
Я использую следующую настройку для резервного копирования данных с 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: подключил новый диск к NAS благодаря чудесам USB.
Расположение 1: отправил данные на новый диск с помощью задания rsync на NAS.
Путешествовал в далекую галактику, которую мы здесь называем Локацией 2.
Расположение 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. С точки зрения передачи это заняло гораздо больше времени, но напрямую «решило» проблему. Теперь у меня все настроено, работает как часы.
Однако проблема как таковая еще не решена. То есть хотелось бы знать, как:
Если кто знает, ответьте на вопрос, и я сразу отмечу вас как решателя проблем (и героя)!
ПРИМЕЧАНИЕ. Этот вопрос теперь похож на небольшую сказку «что я делал прошлым летом», поэтому я переписал приведенное выше резюме, чтобы потенциальные решатели проблем изменили представление о том, в чем заключается основной вопрос.