Скопировать всю иерархию файловой системы с одного диска на другой

Я хотел бы скопировать всю иерархию файловой системы с одного диска на другой. Содержимое каждой директории, а также обычные файлы на платформе Linux. Был бы признателен за лучший способ сделать это с помощью встроенных функций Linuxes. Файловая система – это семейство ext.

Я часто использую

 > cp -ax / /mnt 

Presuming / mnt – новый диск, установленный на / mnt, и других монтировок в / нет.

-x хранит его в одной файловой системе.

Это, конечно, нужно делать как root или использовать sudo.

Эта ссылка имеет некоторые альтернативы, включая приведенную выше

http://linuxdocs.org/HOWTOs/mini/Hard-Disk-Upgrade/copy.html

Вы хотите rsync .

Эту команду можно использовать для синхронизации папки, а также возобновить копирование, когда оно прерывается на полпути. Команда для копирования одного диска:

 rsync -avxHAX --progress / /new-disk/ 

Возможные варианты:

 -a : all files, with permissions, etc.. -v : verbose, mention files -x : stay on one file system -H : preserve hard links (not included with -a) -A : preserve ACLs/permissions (not included with -a) -X : preserve extended attributes (not included with -a) 

Чтобы улучшить скорость копирования, добавьте -W (- --whole-file ), чтобы избежать вычисления дельта / различий файлов. Это значение по умолчанию, когда и источник, и пункт назначения указаны как локальные пути, поскольку реальная выгода от алгоритма дельта-передачи rsync снижает использование сети.

Также рассмотрите возможность добавления --numeric-ids чтобы избежать сопоставления значений uid / gid по имени пользователя / группы.

Для одной копии локальной копии с одного диска на другой, я думаю, cp достаточно, как описано Wolfmann здесь выше.

Например, для больших работ, таких как локальные или удаленные резервные копии, лучшим является rsync .

Конечно, rsync значительно сложнее в использовании.

Почему rsync:

  • Это позволяет копировать (синхронизированную копию) все или часть вашего диска A на диск B с множеством опций, например, исключая некоторые каталоги из копии (например, исключая / proc).

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

  • И последнее, но не менее важное: rsync использует ssh-соединение, поэтому это позволяет вам получать удаленные синхронизированные защищенные «копии». Посмотрите на страницу руководства, а также на некоторые примеры .

Добавление двух полезных битов в поток re rsync: изменение cypher и использование --update :

По сообщению Wolfman, cp -ax элегантен и классный для местного cp -ax .

Тем не менее, rsync также потрясающий. В дополнение к ответу Майкла re -W , изменение cypher также может ускорить работу (хотя, конечно же, при любом повышении безопасности).

 rsync --progress --rsh="ssh -c blowfish" / /mnt/dest -auvx 

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

Одна из других серьезных причин использования rsync в большой, рекурсивной копии, подобной этой, связана с ключом -u (или -update ). Если во время копирования возникла проблема, вы можете ее исправить, и rsync заберет туда, где она была остановлена ​​(я не думаю, что у scp есть это). Выполняя его локально, cp также имеет ключ -u.

(Я не уверен, что последствия -update и -whole-файла вместе, но они всегда кажутся мне разумными в этой задаче)

Я понимаю, что это не вопрос о функциях rsync, но некоторые из наиболее распространенных я использую для этого:

  • –delete-after и т. Д. (Как упоминал Майкл в последующем), если вы хотите синхронизировать новую систему с исходным местом или что-то в этом роде. А также,
  • –exclude – для пропусков каталогов / файлов для таких случаев, как копирование / создание новой системы на новое место при пропуске пользовательских домашних каталогов и т. Д. (Либо вы монтируете дома из другого места, либо создаете новых пользователей и т. Д.).

Кстати, если мне когда-либо понадобится использовать окна, я использую rsync из cygwin для создания больших рекурсивных копий из-за слабого мозга исследователя, который хочет начать с самого начала (хотя я считаю, что Finder хуже OS X)

Rsync

«Этот подход считается лучшим, чем клонирование диска с dd, поскольку он позволяет использовать другой размер, таблицу разделов и файловую систему, а также лучше, чем копирование с помощью cp -a, поскольку это позволяет больший контроль над разрешениями файлов, атрибутами , Списки контроля доступа (ACL) и расширенные атрибуты. "

Из:

https://wiki.archlinux.org/index.php/Full_system_backup_with_rsync

Человек здесь

  • Как зашифровать данные в битбакете без потери инструментов git diff?
  • Debian / ubuntu - инвертировать все цвета в сеансе рабочего стола (цвета)
  • Debian ARM и Brother DCP195C с CUPS
  • Home Server: виртуализация серверов, что выбрать?
  • Как узнать, какую версию Linux я запускаю?
  • Копирование удаленных файлов на nfs без обратной связи
  • «Ошибка загрузки» Сообщение при загрузке с USB-устройства в ноутбуке
  • Безопасно ли использовать miredo-клиент?
  • Будет ли установка Windows 10 перезаписывать Linux / Grub?
  • Не удается передать ssh на рабочий стол
  • Emerge жалуется на заблокированные пакеты: что мне делать?
  • Давайте будем гением компьютера.