Резервное копирование в Windows
Содержание
Резервное копирование всего системного раздела
Ahead Nero Burning ROM
Если мы, как и положено, создали отдельный раздел для ОС, а данные размещаем на других разделах, то первый должен поместиться на одну DVD матрицу, но можно и на несколько. Меню: Recorder - Burn Hard Drive Backup. Если установлена русская версия Nero, то выбираем язык для загрузки "английский", т.к. русский некорректно отображается. Затем с этого DVD загружаемся и восстанавливаем раздел.
Acronis True Image
Создаём образ диска (Create Image) и кладём его либо на другой раздел, либо записываем на DVD. Создаём загрузочный диск (Create Bootable Rescue Media). Его можно записать либо на CD, либо на 7 дискет. Загружаясь с него получаем графическую оболочку с чуть меньшим набором функций. Выбираем где лежит наш образ и восстанавливаем раздел. Созданный образ можно также подключить, присвоив ему букву и восстановить отдельные файлы.
Резервное копирование папок с данными
Средства Windows
С помощью встроенного в Windows мастера резервного копирования создаём задание для копирования нужных папок:
Пуск - Программы - Стандартные - Служебные - Архивация данных
Сторонние средства
Бесплатное ПО:
Архиватор + свой скрипт
Для резервного копирования используются следующие бесплатные программные продукты:
Резервное копирование происходит ежедневно с помощью скрипта bk_7z.bat, который считывает из файла include.txt список папок и файлов (перечисленных по одному на строке) и создаёт архив. Скрипт может работать в одном из двух режимов. Он задаётся переменной WholeMode:
- WholeMode=0 - первого числа каждого месяца архивирует папки полностью, создавая базовый архив, а в остальные дни создаёт инкрементный архив.
- WholeMode=1 - каждый раз создаёт полный архив.
В обоих режимах воскресный архив будет еженедельным и не будет перезаписываться. Можно после создания архива сразу скопировать его в безопасное место (если NeedSpread=1).
Все переменные в скрипте можно переопределить по усмотрению. Перед применением нужно удалить все комментарии помеченные '#' решёткой
rem @echo off rem This script will backup data from %IncludeList% to %baseArch% rem It will make incremental archives if %WholeMode%=0 rem It will copy archives to different places if %NeedSpread%=1 rem rem %IncludeList% is a file with list of files or/and directories rem one in a line. rem rem Requirements: rem 7-Zip 4.57 or > (http://www.7-zip.org/) rem pDate 1.1 or > (http://pdate.sourceforge.net/) rem rem Pavel Malakhov 2007.12.12 rem ... ряд изменений rem 2010.01.13 Добавлен экспорт из реестра прав на шары rem -======[ VARIABLES ]======- rem Временный каталог, используется для кэша set tmpDir=D:\Temp rem Используем переменные для внешних программ set run_7z="C:\Program Files (x86)\7-Zip\7z.exe" set run_pdate=C:\Tools\pdate.exe rem --- set and get "day of month" variable %dm% --- %run_pdate% "\s\e\t \d\m\=e" > %tmpDir%\tmp.bat call %tmpDir%\tmp.bat del %tmpDir%\tmp.bat rem --- set and get "day of week" variable %dw% --- %run_pdate% "\s\e\t \d\w\=u" > %tmpDir%\tmp.bat call %tmpDir%\tmp.bat del %tmpDir%\tmp.bat rem --- set and get "week number" variable %wn% --- %run_pdate% "\s\e\t \w\n\=V" > %tmpDir%\tmp.bat call %tmpDir%\tmp.bat del %tmpDir%\tmp.bat rem Журнал set LogDir=C:\Tools set Log=%LogDir%/bk_7z_general.log rem Места и названия архивов set dDir=D:\Backup # Место хранения архивов set dlmDir=D:\Backup\LastMonth # Архивы за прошлый месяц set baseArch=%dDir%\month_general.7z # Имя основного архива set IncludeList=include_general.txt # Список архивируемых объектов set updArch_dw=%dDir%\day_general_%dw%.7z # Имя для ежедневного инкрементного архива set updArch_wn=%dDir%\week_general_%wn%.7z # Имя для еженедельного инкрементного архива set regShares=%dDir%\shares_%wn%.reg # архив реестра rem --- (=1) Make whole backup every day --- rem --- (=0) Make whole backup only once a month. Make update archives (incremental to month) everyday --- set WholeMode=0 rem --- Sread archived files on several places (=1) or not (=0 or whatever) --- set NeedSpread=1 rem --- Where to spread archives. Destination directories --- set dDirM=D:\Backup\ # 1-го числа set dDir1=D:\Backup\ # в понедельник set dDir2=D:\Backup\ # во вторник и т.д. set dDir3=D:\Backup\ set dDir4=D:\Backup\ set dDir5=D:\Backup\ set dDir6=D:\Backup\ set dDir7=D:\Backup\ #... в воскресенье = еженедельный архив rem -======[ COMMANDS ]======- if not exist %baseArch% goto BaseArchive if %WholeMode%==1 goto BaseArchive if %dm% GTR 1 goto UpdateArchive :BaseArchive rem --- Clear %dlmDir% and move data of previous month to that dir --- if not exist %dlmDir%\nul mkdir %dlmDir% del /Q %dlmDir%\* move /Y %dDir%\* %dlmDir% move /Y %LogDir%\*.log %dlmDir% %run_pdate% "====== Y B =======" > %Log% %run-pdate% "z, A --- \B\a\c\k\u\p \s\h\a\r\e \r\i\g\h\t\s " >> %Log% reg export HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares %regShares% %run_pdate% "z, A --- \S\t\a\r\t \t\o \c\r\e\a\t\e \n\e\w \a\r\c\h\i\v\e" >> %Log% rem --- Create archive --- %run_7z% a %baseArch% -w%tmpDir% -i@%IncludeList% -ssw -slp -scsWIN -mmt=on -mx3 -ms=off >> %Log% %run_pdate% "z, A -^- \n\e\w \a\r\c\h\i\v\e \c\r\e\a\t\e\d" >> %Log% set SpreadArch=%baseArch% if %NeedSpread%==1 goto Spread+ goto End :UpdateArchive echo ******* ******* ******* >> %Log% %run_pdate% "z, A --- \S\t\a\r\t \t\o \u\p\d\a\t\e \a\r\c\h\i\v\e" >> %Log% if %dw%==7 (set updArch=%updArch_wn%) else set updArch=%updArch_dw% rem --- Check files existence --- if exist %updArch% del /Q %updArch% rem --- Create incremental archive --- %run_7z% u %baseArch% -u- -up0q0r2x0y2z0w0!%updArch% -w%tmpDir% -i@%IncludeList% -ssw -slp -scsWIN -mmt=on -mx5 -ms=off >> %Log% %run_pdate% "z, A -^- \u\p\d\a\t\e \f\i\n\n\i\s\h\e\d" >> %Log% set SpreadArch=%updArch% if %NeedSpread%==1 goto Spread goto End :Spread rem --- Spread created archive to backup places --- if %dm%==1 set SpreadDir=%dDirM% if %dw%==1 set SpreadDir=%dDir1% if %dw%==2 set SpreadDir=%dDir2% if %dw%==3 set SpreadDir=%dDir3% if %dw%==4 set SpreadDir=%dDir4% if %dw%==5 set SpreadDir=%dDir5% if %dw%==6 set SpreadDir=%dDir6% if %dw%==7 set SpreadDir=%dDir7% %run_pdate% "z, A --- \S\p\r\e\a\d \s\t\a\r\t\e\d" >> %Log% rem -does not work on Win2003- if not exist %SpreadDir%\nul mkdir %SpreadDir% mkdir %SpreadDir% echo spread to: %SpreadDir%, file to copy:%SpreadArch% >> %Log% copy /Y %SpreadArch% %SpreadDir% >> %Log% %run_pdate% "z, A -^- \C\o\p\y \l\o\g \s\t\a\r\t\e\d" >> %Log% copy /Y %Log% %SpreadDir% >> %Log% :End %run_pdate% "z, A -^- \D\o\n\e" >> %Log% rem -=======[ COMMENTS ]=======- rem Some keys for 7z command: rem -ssw (Compress files open for writing) rem -slp (Set Large Pages mode) increases the speed of compression of large data rem -scs (Set charset for list files) {UTF-8 | WIN | DOS} rem -ms=100f100m (set solid mode with 100 files & 10 MB limits per one solid block.) rem -mmt=on (Sets multithread mode. If you have a multiprocessor or multicore system, you can get a increase with this switch.) rem -mx=5 (x=[0 | 1 | 5 | 7 | 9 ] Sets level of compression) rem rem 7z a archive.7z c:\*path\to\file.ext rem stores full path except volume letter, but it is slow to start because it has to scan the hard disk for matches
Папки могуть быть и удалённые, тогда указываем соответствующий путь, например \\server\folder\
Процесс каждого архивирования отражается в журнальном файле bk_7z.log, обновляющимся ежемесячно.
Первого числа следующего месяца все архивы (основной и инкрементные) и журнал переносятся в папку C:\Backup\LastMonth