Решение: периодический бекап рабочей папки средствами Windows

Den1xxx

Постоялец
Регистрация
15 Янв 2014
Сообщения
290
Реакции
168
Добрый день!
Я работаю и дома, и на работе.
Для удобства настроил, что диск F: — рабочий.
Это у меня переносной диск.
С рабочего стола на него ведут только ссылки, как дома, так и на работе.
Очень удобно: на работе отключил, дома включил и продолжай с того самого места, где закончил.
Единственно — был вопрос периодического бекапа, притом чтобы независимо от системы Windows.
От XP до десятки должно всё работать.
Самым удобным вариантом оказывается родная возможность синхронизации данных с помощью Robocopy (собственно, для админов это не новость, поэтому опытные могут не читать).
Можно очень быстро синхронизировать только измененные файлы и папки.
Я хочу поделиться своим cmd-файлом, который вы сможете, изменив пару строк в начале, употреблять под свои нужды. Самое главное, что оно работает годами без сбоев. Если нужно синхронизировать несколько папок — пишем несколько таких файликов, запускаем по очереди. Если чего-то не скопировалось — смотрим логи. Если нужно кому-то копировать по сети, там настройка другая будет, задавайте вопросы.
Собственно сам файл, назовите его например backup.cmd
В примере делается бекап папки популярного среди разработчиков Опенсервера:
Код:
@echo off
set folder=OSPanel
set dd=%DATE%
set tt=%TIME%
set /a ddd=%dd:~0,2%

IF %ddd% LSS 10 (
  SET day=0%ddd%
) else (
  SET day=%ddd%
)

set month=%dd:~3,2%
set year=%dd:~6,4%
set /a ttt=%tt:~0,2%
IF %ttt% LSS 10 (
  SET hour=0%ttt%
) else (
  SET hour=%ttt%
)
 
SET minute=%tt:~3,2%
SET sec=%tt:~6,2%
   
echo Backup %folder% from F: to E:
robocopy "F:\%folder%" "E:\%folder%" /MIR /V /NP /R:5 /W:10 /LOG:D:\Robocopy\log\%folder%-%year%-%month%-%day%_%hour%-%minute%-%sec%.txt
ping -n 11 127.0.0.1>nul
Для разных папок я меняю только строчку: set folder=OSPanel
Под Виста и выше робокопи встроен, под XP надо устанавливать специально.
 
Назад
Сверху