Как я могу переместить набор hardlinked файлов от поля Linux на мой Mac OS X и сохранить hardlinks?

Я имею rsnapshot резервное копирование, что я должен отъехать поврежденной файловой системы Linux. Я должен сохранить внутренний hardlinks. Я попробовал rsync -H и использование более нового rsync и никакой заповедник hardlinks на OS X.

Я пытался добраться rsync -H при работе и я изолировал его к смонтированной файловой системе. Я могу сохранить жесткие ссылки, копирующие локально (HFS к HFS), но он не сохраняет, когда я пытаюсь rsync прочь файловой системы SMB монтируются, или файловая система AFP монтируются. Есть ли, некоторые монтируют решение для опции получения OS X rsync повиноваться -H?

Любой совет значительно ценился бы.

1
задан 09.12.2010, 08:46

2 ответа

Так как проблемой, казалось, был rsync OSX, не определяющий и сохраняющий жесткие ссылки из смонтированного источника EXT2, я следовал вместо этого в выполнении rsync демона на источнике за полем Linux и использованием rsync на моем Mac для соединения с тем демоном. Это, кажется, правильно сохраняет внутренние жесткие ссылки этот путь.

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

  • Необходимо будет также отредактировать rsyncd.conf на стороне демона для определения 'модуля' (необычное название 'пути'), который будет источником или целью.

  • Наконец, Вы используете измененный синтаксис со стороны недемона для ссылки на демона: user@host::module. Так копирование от демона могло быть: rsync-r user@host::module ~ / нечто

Для большего количества детали, Google 'rsync' и/или 'rsync демон'

1
ответ дан 17.12.2019, 00:29

Я, конечно, надеюсь, что существует более легкий путь. Однако, если все остальное перестало работать:

Я никогда не использовал его, но timecopy Сценарий Python (для использования с дефектными резервными копиями Машины времени) мог бы помочь. Это - длинный сценарий, но кажется, что это не только что долго только из-за Машины времени. И особенно его поддержка неисправных дисков может быть полезна для Вашей поврежденной файловой системы также. С его веб-сайта:

Используя инструмент, который выполняет копию блока для блока, на самом деле скопирует ошибку файловой системы в новый диск, который бесполезен вообще. То, что необходимо, является способом скопировать файловую систему в новое местоположение с помощью традиционной копии файла. Единственной проблемой с этим являются резервные копии Машины времени, полны жестких ссылок, которые появятся как нормальные файлы и каталоги, и выполнение простой копии файла приведет к огромной трате дискового пространства.

Это поддерживает a --dry-run опция, и --verbose хорошие выводы mkdir, cp, ln и ln -s команды.

Сценарий осуществляет использование Машины времени Backups.backupdb файловая структура. Это кажется мне тем изменением srcdb = os.path.join(srcbase, 'Backups.backupdb') в srcdb = srcbase, и также изменение dstdb = os.path.join(dstbase, 'Backups.backupdb') в dstdb = dstbase, мог бы сделать это применимым для источников неТМ.

Это затем обрабатывает каждую sub папку исходной папки, ожидая, что каждый будет названием машины, будучи корнем всех резервных копий для той машины (обычно один, если диск не используется для нескольких компьютеров). В каждой sub папке это обрабатывает все за исключением названных файлов .DS_Store, Latest или окончание .inProgress. Но: это не ожидает, что sub папки исходной папки будут самими жесткими ссылками. Если у Вас действительно есть жесткие ссылки в исходной папке, то, возможно, можно смонтировать диск с дополнительным именем папки. Как: использовать /Volumes/my/mount вместо /Volumes/mount, и затем выполненный timecopy для исходной папки /Volumes/my.

Наконец, это также создаст названную символьную ссылку Latest, так же, как диск Машины времени был бы для новой sub папки. Можно, конечно, удалить это впоследствии.

Можно затем все еще сделать --dry-run, или возможно вывод --verbose --dry-run может помочь получить сценарий, который можно использовать некоторым другим способом?

0
ответ дан 17.12.2019, 00:29

Теги

Похожие вопросы