СЕРВИСНЫЕ УСЛУГИ
СТУДИЯ В ЛИПЕЦКЕ

Советы · Windows · 6 минут

Как копировать большой архив через Robocopy с продолжением после обрыва

Надёжное копирование большого архива Robocopy: предварительный просмотр, /Z, ограничение повторов, Unicode-журнал, коды завершения и проверка копии.
Жёсткий диск и SSD разных типов на реальной фотографии. Для копирования важно точно определить исходник и отдельное назначение; сами устройства не показывают полноту результата.

Жёсткий диск и SSD разных типов на реальной фотографии. Для копирования важно точно определить исходник и отдельное назначение; сами устройства не показывают полноту результата.
User5515 · источник и условия использования · CC0 1.0

Продолжение копирования начинается с правильного назначения

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

Но эти возможности не заменяют проверку путей. В примерах D:\Archive — исходник, а \\NAS\Backup\ArchiveCopy — отдельная папка назначения. Замените их своими. Не направляйте архив в корень диска или поверх папки с другой единственной копией.

Даже без зеркалирования файлы с совпадающими именами могут быть перезаписаны. Для первого прохода безопаснее выделить новое назначение и заранее посмотреть план. Robocopy копирует файлы, а не клонирует загрузочную Windows. [1]

Порядок большой передачи
  1. ПланПодтверждены исходник и назначение
  2. КопированиеСохраняется журнал и ограничены повторы
  3. ПродолжениеПовторяется та же проверенная задача
  4. СверкаОценены пропуски, ошибки и содержимое

Схема редакции «Мы из 90х».

Подготовьте место и полностью доступный исходник

Проверьте свободный объём назначения и ограничения файловой системы. Предельный размер обычного файла FAT32 — 4 294 967 295 байт, чуть меньше 4 ГиБ; облачный заместитель не равен полностью сохранённому локальному оригиналу. [3]

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

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

Microsoft Windows: пример доступного места на томе. Перед копированием сравнивают нужный объём с реальным свободным пространством назначения, а не только с паспортной ёмкостью устройства.
Microsoft Windows: пример доступного места на томе. Перед копированием сравнивают нужный объём с реальным свободным пространством назначения, а не только с паспортной ёмкостью устройства.© Microsoft. Used with permission from Microsoft. · источник и условия использования · Microsoft screenshot permissions

Сначала выполните просмотр с /L

Откройте командную строку CMD и создайте локальную папку для журналов. Предварительный запуск:

Командная строка

md C:\Iz90Diag
robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /E /Z /COPY:DAT /DCOPY:DAT /XJ /R:2 /W:3 /L /TEE /UNILOG:"C:\Iz90Diag\Archive-preview.log"

/L только перечисляет запланированные действия. Файлы не копируются. Проверьте напечатанные Source и Dest, объём и список. Успешный просмотр не подтверждает чтение всего содержимого: это предварительный план, а не полная проверка источника. [1]

Журнал находится локально, чтобы не зависеть от того же сетевого обрыва. Параметр UNILOG сохраняет Unicode-журнал; он не меняет кодировку содержимого копируемых документов.

Запустите реальное копирование без /L

После проверки используйте ту же команду, убрав только предварительный режим и выбрав отдельный журнал:

Командная строка

robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /E /Z /COPY:DAT /DCOPY:DAT /XJ /R:2 /W:3 /TEE /UNILOG:"C:\Iz90Diag\Archive-copy.log"

Смысл основных параметров:

Что делает выбранный набор
ПараметрНазначение
/EКопирует подкаталоги, включая пустые
/ZИспользует возобновляемый режим
/COPY:DATДанные файлов, атрибуты и время
/DCOPY:DATСоответствующие сведения каталогов
/R:2 /W:3Два повтора с ожиданием три секунды
/XJИсключает junction points
/TEE /UNILOGВывод на экран и Unicode-журнал

Учебная таблица редакции.

Набор предназначен для обычного файлового архива. Он не переносит все ACL, владельцев и аудит как системная резервная копия. Junction points исключаются, поэтому дерево с такими перенаправлениями требует отдельной оценки состава. Символические ссылки и облачные объекты также нужно понимать по их типу.

Увеличение числа потоков не обязательно ускорит медленный диск. Сначала получите устойчивый проход; режимы EFS RAW имеют отдельные ограничения, в том числе несовместимость с /MT. [1]

После обрыва повторите ту же задачу

Восстановите доступ к исходнику и назначению. Сохраните предыдущий журнал отдельно, затем повторите проверенную команду с теми же корнями. Уже соответствующие файлы обычно будут пропущены, а /Z предназначен для возобновления прерванной передачи файла.

Продолжение предполагает пригодный частичный результат и неизменный источник. Если исходный файл после обрыва изменён, его нельзя считать тем же неподвижным объектом. Проверяйте новый итог, а не только возобновившийся счётчик процентов.

Не переименовывайте временную копию и не удаляйте её автоматически, пока не выяснено состояние. Если причина — постоянный отказ доступа или неисправность носителя, ограниченные повторы завершатся ошибкой. Они нужны, чтобы команда не ждала бесконечно, а не чтобы скрыть пропущенные данные.

Что сохраняется при повторе
  1. Те же путиПродолжается одна задача
  2. Прежний журналМожно сравнить отказы
  3. Неизменный источникЕсть понятное основание для продолжения
  4. Новый итогПроверяются все ошибки текущего прохода

Схема редакции «Мы из 90х».

Если при каждом проходе снова выбираются те же файлы, сравните размеры, время и точность временных меток назначения. Параметр /FFT задаёт двухсекундную точность сравнения времени и нужен только при соответствующей особенности файловой системы. Он может скрыть небольшие различия, поэтому не добавляется автоматически ради уменьшения числа копирований. [1]

Прочитайте код завершения сразу после Robocopy

В CMD следующей командой можно вывести:

Командная строка

echo %ERRORLEVEL%

В PowerShell после запуска внешней утилиты используется $LASTEXITCODE. Снимайте код до другой внешней команды, способной его заменить.

Коды Robocopy отличаются от простого правила «любое ненулевое значение — ошибка». Значение 1 может означать успешное копирование; коды 0–7 описывают сочетания отсутствия изменений, новых файлов, дополнительных объектов или несовпадений. Значение от 8 указывает на хотя бы один отказ копирования. [1]

Даже код меньше 8 не отменяет чтение итоговой таблицы. Просмотрите Failed, Mismatch и Extras и убедитесь, что результат соответствует задаче. Дополнительные файлы назначения не обязательно являются ошибкой, но их происхождение должно быть понятно.

Как оценить итог
ПроверкаЧто выяснить
Код завершенияЕсть ли отказ по правилам Robocopy
FailedКакие файлы не скопированы
Mismatch и ExtrasЕсть ли неожиданные отличия
Source и DestТе ли корни использовались

Учебная таблица редакции.

Почему /MIR не требуется для продолжения

Зеркалирование синхронизирует дерево и может удалять из назначения объекты, которых нет в исходнике. Это полезно для специальной задачи, но опасно, если назначение содержит другие нужные файлы.

Для оценки такого плана сначала используют только просмотр, например:

Командная строка

robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /MIR /L /XJ /R:0 /W:0 /UNILOG:"C:\Iz90Diag\Mirror-plan.log"

Здесь /L обязателен для предварительного просмотра: удаления не выполняются. Прочитайте план целиком. Не убирайте его, пока не подтверждено, что назначение выделено именно под зеркало и лишние объекты действительно должны исчезнуть.

Обычное продолжение передачи не требует /MIR. В основном примере используется /E: это не зеркалирование с очисткой лишнего назначения. [1]

Проверьте не только список, но и важное содержимое

Повторный просмотр той же задачи через /L помогает найти файлы, которые всё ещё требуют копирования по правилам Robocopy. Но сравнение времени и размера не является криптографической проверкой содержимого.

Для важного большого файла сравните SHA-256 оригинала и копии:

PowerShell

Get-FileHash -LiteralPath 'D:\Archive\video.mp4' -Algorithm SHA256
Get-FileHash -LiteralPath '\\NAS\Backup\ArchiveCopy\video.mp4' -Algorithm SHA256

Совпадение подтверждает содержимое этих двух прочитанных файлов, а не всего архива. Полная проверка каждого файла потребует чтения всего объёма и дополнительного времени. Назначение Get-FileHash описано Microsoft. [2]

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

Made on
Tilda