robocopy – backup средствами Windows

Создаем бат файл backup.bat на диске (у меня на E:\_bin\) с таким содержанием:

@echo off
 chcp 1251
 robocopy.exe D:\Vvod_Z E:\tmp /mir /log:E:\tmp\backup.log

где D:\Vvod_Z - что копируем,
E:\tmp - куда копируем и лог-файл

Потом Администрирование — > Планировщик заданий (Task Scheduler )

Или,

Win + R 
shell:startup

добавить ярлык скрипта.

Еще пример.

@echo off
set date_=%date:/=-%
set source=D:\source
set dest=\\192.168.36.97\Big_hall\%date_%
REM set dest=E:\dest\%date_%
mkdir %dest%
robocopy "%source%" "%dest%" /E 
@echo on

создается на удаленной машине директория dest с текущей датой вида число.месяц.год

 

robocopy \\testnode1\C$\source\ \\testnode2\c$\dest\ *.txt /MIR /COPYALL /Z /B /J /R:3 /W:1 /REG /TEE /LOG+:%appdata%\robocopy.log

  • \\testnode1\C$\source\ — исходный каталог, откуда копируются файлы
  • \\testnode2\C$\dest\ — каталог назначения, куда скопируются файлы
  • *.txt – фильтр файлов. Синхронизируются только .txt файл и директории.
  • /MIR – полное зеркалирование данных в source и dest директориях. Файлы, удаленные из source директории или не присутствующие в ней, также будут удалены из dest. Если вы хотите, чтобы удаленные из source файлы оставались в dest, то поменяйте параметр /MIR на /E
  • /COPYALL – копирует всю информацию о файле (Атрибуты, параметры безопасности и т.д.). Как альтернатива, можно применять флаг /COPY:DT для копирования timestamp, а не всей информации. /COPALL требует прав администратора
  • /Z – robocopy продолжит копирование файла при обрыве. Полезно при копировании больших файлов (неплохая альтернатива копированию файлов по BITS)
  • /B – позволяет robocopy избегать ошибки access denied error. В этом режиме robocopy игнорирует все права на файлы, которые могли бы помешать прочитать/записать файл. Этот режим требует прав администратора либо участие в группе Операторы архива
  • /J – Копирование без буфера (файлового кэша, оперативной памяти). Эффективно для больших файлов.
  • /R:3 – количество попыток скопировать недоступный файл. Значение по умолчанию – миллион, поэтому необходимо его сменить.
  • /W:1 – секунды между попытками скопировать недоступный файл. Значение по умолчанию – 30 секунд.
  • /REG – сохранить текущие значения ключей /R и /W в реестр как стандартные, для будущих вызовов robocopy.
  • /TEE – разделение вывода работы команды и в лог файл, и в консоль. При фоновом вызове robocopy (например, из планировщика задача) этот параметр можно убрать, оставив только /LOG
  • /LOG – путь к файлу лога

Обратите внимание на ключ /Z даже если вы копируете небольшие файлы по устойчивому каналу. Он не несёт дополнительных расходов при использовании, но в случае обрыва, вы сможете продолжить копирование просто повторно запустив скрипт.

https://winitpro.ru/index.php/2020/05/13/robocopy-sinxronizaciya-i-rezervnoe-kopirovanie-fajlov/