Как использовать Robocopy для резервного копирования в Windows

robocopy резервное копирование windows keytrust24.store

Robocopy (Robust File Copy) — мощная утилита командной строки для копирования файлов, встроенная в Windows. В отличие от обычного копирования, Robocopy копирует только измененные файлы, сохраняет атрибуты и права доступа, автоматически повторяет попытку при ошибках. Это идеальный инструмент для создания зеркальных резервных копий и синхронизации папок. Подробнее об основах PowerShell для автоматизации задач резервного копирования.

Главное:

  • Robocopy встроен во все версии Windows начиная с Vista и не требует установки
  • Режим /MIR создает точное зеркало источника в цели удаляя лишние файлы
  • Ключ /Z дает возможность возобновлять прерванное копирование больших файлов
  • Через планировщик задач можно настроить автоматическое резервное копирование по расписанию

Основы синтаксиса Robocopy и ключевые параметры

Базовый синтаксис Robocopy: robocopy источник назначение [файлы] [ключи]. Утилита доступна из командной строки и PowerShell без дополнительной установки.

Простейшее копирование папки:

robocopy C:UsersUserDocuments D:BackupDocuments /E

Ключ /E копирует все подпапки включая пустые.

Основные ключи Robocopy:

  • /E — копировать все подпапки включая пустые
  • /S — копировать подпапки, исключая пустые
  • /MIR — зеркалирование: копирует новое, удаляет из цели то чего нет в источнике
  • /MOV — перемещение файлов (удаляет из источника после копирования)
  • /Z — перезапускаемый режим для больших файлов (можно прервать и продолжить)
  • /B — резервный режим (обходит ограничения NTFS для чтения защищенных файлов)
  • /R:3 — количество повторных попыток при ошибке (по умолчанию 1 миллион)
  • /W:5 — ожидание между повторными попытками в секундах
  • /LOG:путь — запись лога в файл
  • /NP — не показывать процент выполнения (меньше вывода в консоль)
  • /XF — исключить файлы по маске: /XF *.tmp *.log
  • /XD — исключить папки: /XD temp cache

Для надежного резервного копирования используйте комбинацию: /E /Z /R:3 /W:10. Лицензионная Windows из нашего каталоге Windows включает Robocopy полной версии.

Зеркалирование папок для резервного копирования

Режим зеркалирования /MIR — наиболее удобный для создания резервных копий. Он дает что в папке назначения находится точная копия источника.

Базовое зеркалирование папки Documents:

robocopy C:UsersUserDocuments D:BackupDocuments /MIR /Z /R:3 /W:10 /LOG:C:Logsbackup.log

Зеркалирование с исключением временных файлов:

robocopy C:UsersUser D:BackupUser /MIR /Z /R:3 /W:10 /XD AppData Temp /XF *.tmp *.temp /LOG+:C:Logsbackup.log

Ключ /LOG+ дописывает в существующий лог вместо перезаписи.

Резервное копирование нескольких папок одной командой через пакетный файл:

@echo off
set SRC=C:UsersUser
set DST=D:Backup
set LOG=C:Logs

robocopy "%SRC%Documents" "%DST%Documents" /MIR /Z /R:3 /W:10 /LOG+:"%LOG%docs.log" /NP
robocopy "%SRC%Desktop" "%DST%Desktop" /MIR /Z /R:3 /W:10 /LOG+:"%LOG%desktop.log" /NP
robocopy "%SRC%Pictures" "%DST%Pictures" /MIR /Z /R:3 /W:10 /LOG+:"%LOG%pictures.log" /NP

echo Резервное копирование завершено: %date% %time%

Внимание: /MIR удаляет файлы из назначения которых нет в источнике. Для проверки без реального копирования используйте ключ /L (только список).

Копирование с сохранением прав доступа и атрибутов

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

Копирование с полными метаданными:

robocopy C:Data D:BackupData /MIR /COPYALL /DCOPY:T /B /R:3 /W:10

Параметры копирования (/COPY и /COPYALL):

  • /COPY:DAT — Data (данные), Attributes (атрибуты), Timestamps (временные метки) — по умолчанию
  • /COPY:DATS — добавить Security (права NTFS)
  • /COPYALL — эквивалент /COPY:DATSOU — все атрибуты включая владельца и аудит
  • /DCOPY:T — копировать временные метки папок (не только файлов)
  • /B — резервный режим, помогает обходить ограничения прав для чтения
  • /SEC — копировать права доступа (аналог /COPY:DATS)

Для корректного копирования прав доступа Robocopy нужно запускать от имени администратора или с привилегиями Backup Operator.

Копирование только измененных файлов (инкрементальный бэкап):

# Только файлы измененные за последние сутки
robocopy C:Data D:BackupData /E /MINAGE:1 /R:3 /W:10

Ключ /MINAGE:N исключает файлы моложе N дней. Подробнее о шифровании BitLocker для шифрования резервных копий на внешних дисках.

Настройка автоматического резервного копирования через планировщик задач

Для автоматического запуска резервного копирования по расписанию используйте Планировщик задач Windows.

Создание задачи через командную строку:

schtasks /create /tn "RobocopyBackup" /tr "robocopy C:UsersUserDocuments D:BackupDocuments /MIR /Z /R:3 /W:10 /NP /LOG+:C:Logsbackup.log" /sc daily /st 22:00 /ru SYSTEM /f

Эта команда создает ежедневное резервное копирование в 22:00 от имени системы.

Создание скрипта с уведомлением об ошибках:

@echo off
set SRC=C:UsersUserDocuments
set DST=D:BackupDocuments

robocopy "%SRC%" "%DST%" /MIR /Z /R:3 /W:10 /NP /LOG:C:Logsbackup.log

if %ERRORLEVEL% GEQ 8 (
    echo ОШИБКА резервного копирования - код %ERRORLEVEL% >> C:Logserrors.log
    echo %date% %time% >> C:Logserrors.log
)
exit /b 0

Коды возврата Robocopy:

  • 0 — ничего не скопировано (нет изменений)
  • 1 — файлы успешно скопированы
  • 2 — найдены лишние файлы в назначении
  • 4 — несовпадающие файлы
  • 8 — некоторые файлы не скопированы (ошибки)
  • 16 — критическая ошибка

Значения 0-7 означают успешное выполнение. Значения 8 и выше указывают на ошибки.

Создание задачи через GUI Планировщика задач:

  1. Откройте Планировщик задач (taskschd.msc)
  2. Создать простую задачу
  3. Укажите расписание (ежедневно, еженедельно)
  4. В действии выберите «Запуск программы»
  5. Программа: robocopy.exe, аргументы: C:Source D:Dest /MIR /Z /R:3 /W:10

Продвинутые сценарии и синхронизация с сетевыми ресурсами

Robocopy поддерживает работу с сетевыми папками, что делает его удобным для корпоративного резервного копирования.

Копирование на сетевой диск:

robocopy C:UsersUserDocuments fileserverbackupUser /MIR /Z /R:5 /W:30 /IPG:50 /NP

Ключ /IPG:50 задает паузу 50 мс между пакетами для снижения нагрузки на сеть.

Многопоточное копирование для ускорения:

robocopy C:Data D:BackupData /MIR /MT:8 /Z /R:3 /W:10 /LOG:C:Logsmt_backup.log

Ключ /MT:8 запускает 8 потоков одновременно. Значения /MT:16 или /MT:32 дают максимальную скорость на быстрых соединениях.

Скрипт PowerShell с ведением лога и отчетом о результатах:

$source = "C:UsersUserProjects"
$dest = "D:BackupProjects"
$log = "C:Logssync_$(Get-Date -Format 'yyyyMMdd_HHmm').log"

$params = @("/MIR", "/Z", "/R:3", "/W:10", "/NP", "/LOG:$log", "/TEE")
robocopy $source $dest @params

if ($LASTEXITCODE -ge 8) {
    Write-Warning "Robocopy завершился с ошибкой: $LASTEXITCODE"
} else {
    Write-Host "Синхронизация выполнена успешно"
}

Ключ /TEE выводит лог одновременно в консоль и в файл.

Мониторинг папки в режиме реального времени:

# Режим мониторинга - проверять папку при изменении
robocopy C:Source D:Dest /MIR /MON:1 /MOT:60

Ключ /MON:1 активирует мониторинг при изменении хотя бы 1 файла. /MOT:60 задает интервал проверки 60 минут.

Ознакомьтесь с официальной документацией Robocopy на Microsoft Learn для полного справочника параметров. Для комплексной защиты этих используйте Robocopy вместе с шифровании BitLocker для шифрования резервных копий.

Полезные ссылки и материалы

Для решения задач, описанных в этой статье, могут пригодиться:

Официальная документация: Microsoft Learn: управление Windows.

Часто задаваемые вопросы

Чем Robocopy лучше обычного копирования через Проводник?

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

Безопасен ли ключ /MIR для первого запуска?

Будьте осторожны при первом использовании /MIR. Режим зеркалирования удаляет из папки назначения все файлы которых нет в источнике. Перед первым запуском проверьте пути командой с ключом /L (только список без копирования) и убедитесь что в папке назначения нет нужных файлов.

Как ускорить копирование по сети через Robocopy?

Используйте многопоточное копирование: ключ /MT:8 запускает 8 потоков одновременно. Для надежных сетей /MT:16 или /MT:32 дает максимальную скорость. Также используйте /IPG:0 для отключения межпакетных задержек в быстрых сетях.

Можно ли использовать Robocopy вместо встроенной Истории файлов?

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

Частые вопросы

Чем Robocopy лучше обычного копирования через Проводник?

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

Безопасен ли ключ /MIR для первого запуска?

Будьте осторожны при первом использовании /MIR. Режим зеркалирования удаляет из папки назначения все файлы которых нет в источнике. Перед первым запуском проверьте пути командой с ключом /L (только список без копирования) и убедитесь что в папке назначения нет нужных файлов.

Как ускорить копирование по сети через Robocopy?

Используйте многопоточное копирование: ключ /MT:8 запускает 8 потоков одновременно. Для надежных сетей /MT:16 или /MT:32 дает максимальную скорость. Также используйте /IPG:0 для отключения межпакетных задержек в быстрых сетях.

Можно ли использовать Robocopy вместо встроенной Истории файлов?

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