ОС Windows Server содержит средство резервного копирования, помогающее сэкономить на покупке стороннего программного продукта. Настройка Windows Server backup занимает минимум времени.
Установка средства, используемого для выполнения резервного копирования
Для установки Windows Server backup необходимо выполнить последовательно действия:
- Откройте Диспетчер серверов. В ней на панели мониторинга необходимо нажать Добавить роли и компоненты.
- На вкладке Перед началом работы используйте Далее.
- Выберите Установка ролей или компонентов и жмите Далее.
- Установите переключатель Выберите сервер из пула серверов и найдите подходящий сервер, куда будет устанавливаться средство копирования. Жмите Далее.
- На вкладке Выбор ролей сервера нажимайте Далее.
- На вкладке Выбор компонентов необходимо выбрать Система архивации данных Windows Server и нажать Далее.
- На вкладке Подтверждение установки компонентов используйте кнопку Установить. Дождитесь завершения установки.
- Нажмите Закрыть, чтобы окончательно выйти из окна мастера, используемого для добавления ролей и компонентов.
Рис. 1. Установка компонентов
Создание копии
Перед настройкой расписания проводимой архивации в Windows Server backup нужно добавить еще один винчестер, его вы будете использовать для сохранения копий. Из соображений экономии не нужно добавлять SSD-диски. Вполне достаточно будет обычных SAS-дисков или SATA-дисков (что еще дешевле). Впрочем, о стоимости копирования мы еще поговорим, главное, сперва правильно настроить Windows Server backup.
Откройте Диспетчер серверов, из меню Средства выберите команду Система архивации данных Windows Server.
Рис. 2. Запуск средства резервного копирования
Основное окно средства копирования показано на рис. 3. На данный момент резервная копия не создавалась.
Рис. 3. Система архивации данных Windows Server
Выберите команду Расписание архивации (данная команда будет доступна на панели справа после перехода в раздел Локальная архивация на панели слева). Для настройки расписания в Windows Server backup следуйте следующим инструкциям:
- На вкладке Приступа к работе нажмите кнопку Далее.
- Выберите, что именно нужно архивировать. Рекомендуется делать копию сервера полностью, чтобы можно было без проблем восстановиться из резервной копии в случае сбоя (рис. 4). Программа сообщит, сколько дискового пространства понадобится.
- Установите время архивации. Windows Server backup настройка это позволяет. Как правило, одного раза в день вполне достаточно. Но при желании вы можете делать копии чаще. Просто выберите регулярность и подходящее время архивации (рис. 5).
- Выберите тип места назначения, чтобы настроить Windows Server backup (рис. 6). Рекомендуется производить архивацию на жесткий диск для архивов, то есть использовать первый вариант. С другой стороны, дополнительный винчестер стоит определенных денег. Если средств нет, можно произвести архивацию на этот же диск — тогда нужен второй вариант — Архивация на том. Но мы настоятельно рекомендуем выполнять архивацию на внешний диск для архивов.
- На странице Выбор диска назначения жмите Показать все доступные диски.
- Нажмите на диск, добавленный вами ранее (рис. 7). На нем должно быть достаточно места.
- Нажмите кнопку ОК. Вы вернетесь на страницу Выбор диска назначения. Нажмите на него, потом кнопку Далее (рис. 8).
- Затем ответьте Да на два последующих запроса.
- Просмотрите сводку. Если все нормально, жмите Готово.
Рис. 4. Конфигурация
Рис. 5. Время создания архива
Рис. 6. Где хранить копии?
Рис. 7. Выбор диска назначения
Рис. 8. Выберите диск и нажмите Далее.
Рис. 9. Сводка
После нажатия кнопки Готово, начнется форматирование диска для архивации. Нужно дождаться завершения этого процесса. Затем мастер сообщит вам время первой архивации. Нажмите кнопку Закрыть. Архивация успешно настроена.
Рис. 10. Форматирование диска для архивации
Рис. 11. Время первой архивации
Восстановление из резервной копии
Для восстановления из копии нужно нажать команду Восстановление на панели Действия (см. рис. 3).
Сперва нужно определить, где находится архив — на этом сервере или в другом расположении (рис. 12).
Рис. 12. Выбор расположения архива
Выберите дату создания архива (рис. 13).
Рис. 13. Выбор даты архива
Далее нужно уточнить, что именно нужно восстановить. Можно восстановить файлы и папки, тома, приложения или же только состояние системы, где было выполнено резервное копирование Windows Server.
Рис. 14. Что нужно восстановить
Если вы выбрали первый вариант, далее мастер предоставит вам возможность отметить файлы и папки, подлежащие восстановлению. На рис. 15 показано, что будут восстановлены папки ftp-root, inetpub и php.
Рис. 15. Выбор файлов и папок
Выберите, как нужно восстанавливать. Обычно нужно восстановить файлы и папки в исходное расположение, но вы можете использовать другую папку. Также выберите, что сделать с элементами резервной копии, которые уже есть в папке. Как правило, нужно выбрать Перезаписывать существующие версии восстановленными.
Рис. 16. Параметры восстановления
Нажмите кнопку Далее. Просмотрите сводку и если все правильно, нажмите кнопку Восстановить (рис. 17). Остается только дождаться процесса восстановления, а потом нажать кнопку Закрыть (рис. 18).
Рис. 17. Сводка по восстановлению
Рис. 18. Процесс восстановления
Немного математики
Резервное копирование данных Windows Server не единственное возможное решение. Платформа Xelent предлагает клиентам услугу по созданию резервных копий. Все, что вам нужно — включить создание резервной копии непосредственно в панели управления сервером. Больше никаких сложных настроек выполнять не нужно.
Стоимость услуги очень просто рассчитать, используя формулу Z = G * S * (N / 7), где G — стоимость услуги берется за 1 гигабайт, S — суммарный объем всех дисков сервера, N — глубина хранения копий. Например, стоимость 28 дней хранения резервных копий сервера с дисковым объемом 70 Гб составит всего 840 рублей в месяц — доступная плата за безопасность данных и ваше спокойствие. Минимально за сервер придется заплатить всего 210 рублей в месяц — за 7 дней хранения.
С другой стороны, можно добавить еще один винчестер, который вы будете использовать как диск архивации. Но он тоже платный. Давайте посчитаем, что выгоднее.
В нашем самом простом случае, когда на сервере не было, по сути, реальных данных, его резервная копия заняла 31 Гб (см. рис. 4). Размер основного жесткого диска нашего сервера — 70 Гб. Если вы добавите еще один жесткий диск SAS такого же размера, то это обойдется вам в 350 рублей в месяц. Однако такой диск способен вместить только две копии. Для хранения семи резервных копий потребуется объем ~220 Гб. SAS-диск такого размера обойдется в 1100 руб/мес.
Можно, конечно, добавить SATA-диск размером 200 Гб. На него поместится 6 полных резервных копий и он обойдется в 600 руб/мес. Заметьте, мы получили такие суммы при глубине резервного копирования 7 дней или меньше.
Как видите, результат налицо — всего за 840 рублей в месяц можно получить резервное копирование длительностью 28 дней, или же всего за 210 рублей (7 дней), если вам нужна экономия. Для этого ненужно ни устанавливать какие-либо компоненты, ни настраивать расписание, все, что нужно — это включить услугу резервного копирования прямо в панели управления сервером.
Рис. 19. Включение резервного копирования
Время на прочтение11 мин
Количество просмотров48K
Здесь мы рассмотрим, как сделать систему дифференциального бэкапа «из коробки» (ну почти), с привлечением минимального количества внешних модулей, в лучших традициях UNIX-way.
Будем использовать 7za.exe \ 7z, а также UNIX-like утилиту pdate.exe, чтобы со временем нам было работать также удобно, как и в ламповом *NIX, а заменой bash нам будет «простонародный» BAT. Предыстория и подробности — под катом.
Предыстория
Все началось с истории про невнимательного и бесстрашного пользователя, открывающего приходящие по личной почте файлы откройменя.exe на рабочем компьютере. К сожалению, это оказалось не какой-нибудь посредственной малварью, а вполне обычным шифратором. Но, помимо файлов юзера, которые, конечно же, восстановлению не подлежат, оказалась задета одна крошечная, но важная шара, доступ к которой был у всех.
Взглянув на сие зашифрованное непотребство, я с благодарностью вспомнил про то, что каждый день у меня делается бэкап этой (и не только этой) шары встроенными средствами Windows Server 2003 SP2 x64. Но, полистав этот бэкап, я понял, что в плане резервного копирования средствами самой Windows не все так радужно. Во-первых, полный бэкап оказался недоступен, а значит восстановить cold-data (файлы, которые меняются очень редко) вряд ли получится. Во-вторых, восстановление из созданного инкрементального бэкапа оказалось задачей нетривиальной — за каждый шаг получалось восстановить только данные, которые были изменены, и ничего более. Получается, чтобы восстановить хотя бы все измененные данные (раз полный бэкап оказался утерян), то пришлось бы перебирать по очереди все бэкапы — не совсем то, что я ожидал от инкрементального бэкапа в таком случае.
Кто то из вас может сказать — надо было проверять работоспособность бэкапа, и да, так оно и есть. Но тот из вас, кто работает в торговле, может понять, куда может уходить время админа — да-да, они самые, онлайн-кассы.
Крепко задумавшись, я вспомнил свое первое знакомство с системой инкрементального копирования fsbackup за авторством Максима Чиркова www.opennet.ru/dev/fsbackup — гибкость, простота, в то же время обилие возможностей и открытый формат хранения архивов (tar). Жаль, что система разработана под *NIX / Linux. Google также не ответил на мой вопрос про подобную систему под Windows. Самое полезное, что я нашел — это краткий гайд хабровчанина antip0d и пример скрипта для резервного копирования. Именно материал по последней ссылке я и использовал для своего скрипта.
Собираем систему
В первую очередь, скачиваем последнюю стабильную версию. На момент написания это 16.04. Наш бэкап будем хранить в 7z архиве: поддержка многопоточности, шифрованных/многотомных архивов, а скорость извлечения из 7z выше скорости упаковки в 10-20 раз!
UPD: Спасибо хаброжителю Taciturn за поправку — вы также можете использовать 7z.exe, уже установленный в вашей системе. Функциональных различий между 7z и 7za я не выявил.
Нас интересуют:
7za.exe — автономная версия 7-Zip.
7za.dll — библиотека для работы с архивами 7z
7zxa.dll — библиотека для распаковки 7z архивов.
Для 64-битных ОС используем те же файлы из каталога x64.
К сожалению, ссылка из используемого мной материала на утилиту pdate никуда не ведет, единственная найденная мной версия
pdate v1.1 build 2007.12.06
© 2005-2007 Pavel Malakhov 24pm@mail.ru
Ссылка из встроенного мануала pdate ведет туда же, а именно — в никуда.
pm4u.opennet.ru/mysoft/pdate.htm
К счастью, на том же ресурсе есть краткая статья по этой программе, там же ее можно скачать.
Мной была использована следующая структура каталогов:
D:\winfsbackup — корневая директория скрипта и связанных файлов
D:\winfsbackup\7z — библиотеки и исполняемый файл 7za
D:\winfsbackup\backup — место хранения бэкапов (можно переназначить путем правки переменных, как и любые другие используемые файлы)
D:\winfsbackup\lists — списки включаемых и исключаемых файлов. О них расскажу чуть позже
D:\winfsbackup\log — логи
D:\winfsbackup\pdate
D:\winfsbackup\tmp — устанавливает рабочий каталог для временного базового архива
D:\winfsbackup\winfsbackup.bat — сам скрипт.
Логика работы
После обработки переменных скрипт смотрит блок :Main, где указывается логика работы бэкапа — в каком случае должен выполниться новый бэкап, а в каком случае — обновить существующий базовый архив. По умолчанию, новый архив создается в начале месяца, а все файлы из директории backup перемещаются в \backup\old, или если базового архива не существует.
Уже во время написания статьи я понял, что нужно добавить возможность обновления базового архива — упрощенный вариант «полный бэкап раз месяц + дифференциальный бэкапы к нему» целесообразно использовать для файловых обменников размером до ~250 Гб. Для моего файлообменника в 550 Гб с преобладанием мелких файлов скорость бэкапа оказалась неудовлетворительна (почти 55 часов). Справедливости ради стоит сказать, что это не может служить сколь нибудь достоверным замером производительности — в процессе бэкапа выяснилось, что некоторые файлы недоступны (привет chkdsk), а бэкап складывался в раздел удаленного сервера, который тоже был занят операциями дискового ввода-вывода.
:Main
REM Здесь описаны условия, в каком случае будет выполняться полный \ дифференциальный бэкап, либо обновление базового бэкапа.
REM Базовое условие - создание полного бэкапа если он не существует
IF NOT EXIST %baseArch% GOTO BaseArchive
REM полный бэкап раз месяц + дифференциальныt бэкапы к нему
IF %dm% EQU 1 GOTO BaseArchive ELSE GOTO UpdateArchive
REM обновляем базовый архив в 1 день месяца
REM IF %dm% EQU 1 GOTO UpdateBase ELSE GOTO UpdateArchive
REM Ежеквартальный полный бэкап (2, 19, 36 неделя года)
REM IF NOT %wn%.%dw% EQU 02.5 GOTO UpdateArchive
REM IF NOT %wn%.%dw% EQU 19.5 GOTO UpdateArchive
REM IF NOT %wn%.%dw% EQU 36.5 GOTO UpdateArchive
REM Обновляем базовый архив, каждую субботу
REM IF %dw% EQU 6 (GOTO UpdateBase) ELSE (GOTO UpdateArchive)
REM А здесь можно разместить действие, которое выполнится если предыдущие условия не отработают.
REM Я стараюсь избегать подобного поведения
ECHO Warning! No one condition matching, check :Main block of script >> %Log%
GOTO End
Первые 2 условия включены по-умолчанию, и описывают полный бэкап раз месяц + дифференциальные бэкапы. Остальные условия альтернативны, то есть при включении одного нужно выключить другое, или изменить логику работы на свой вкус.
Переменные
dm, dw, wn — соответственно день месяца, день недели и номер недели (в численном выражении).
verboseLevel — режим «говорливости», выдает информацию о том, куда будет записываться архив, и прочее. Полезно, когда вносишь в структуру скрипта серьезные изменения.
tmpDir — место сохранения временного файла. По умолчанию, 7-Zip строит новый базовый файл архива в том же самом каталоге, где и старый базовый файл архива. Определяя этот ключ, вы можете установить рабочий каталог, где будет построен временный базовый файл архива. После того, как временный базовый файл архива построен, он копируется поверх первоначального; затем временный файл удаляется.
Дифференциальный бэкап
По умолчанию, в дифференциальный бэкап помещаются файлы, которых нет в базовом архиве, а также более новые файлы. При желании, это поведение можно изменить. Описания ключей есть в стандартном файле справки 7z.
У такого подхода есть свои плюсы (которые я уже успел оценить) — быстрота разворачивания из бэкапа. В случае полного восстановления разворачиваем последний (или любой другой) имеющийся дифференциальный бэкап, а затем — полный архив, отказываясь от перезаписи имеющихся файлов.
Некоторые опции командной строки
-bsp2 — выводит строку с прогрессом выполнения в STDERR. STDOUT 7z перенаправлен в лог, прогресс, естественно, туда не пишется. Эта команда выводит его в STDERR, для большей информативности.
-ssw — упаковывает файлы, открытые для записи другим приложением. Если этот ключ не установлен, 7-Zip не включает такие файлы в архив.
-slp — крайне полезная опция. Режим больших страниц увеличивает скорость сжатия. Однако, есть пауза в начале сжатия, в то время когда 7-Zip распределяет большие страницы в памяти. Если 7-Zip не может разместить большие страницы, он размещает обычные маленькие страницы. Кроме того, Диспетчер задач не показывает реальное использование памяти программами, если 7-Zip использует большие страницы. Эта особенность работает только на Windows 2003 / XP x64. Также нужно иметь права администратора для вашей системы. Рекомендованный размер оперативной памяти для этой особенности — 3 Гб или больше. если вы используете режим -slp, ваша система Windows может зависнуть на несколько секунд, когда 7-Zip выделяет блоки памяти. Когда Windows пытается выделить большие страницы из оперативной памяти для 7-Zip, Windows может подвесить другие задачи на это время. Это может выглядеть как полное зависание системы, но затем ее работа восстанавливается, и, если распределение прошло успешно, 7-Zip работает быстрее. Не используйте режим -slp, если вы не хотите, чтобы другие задачи быть «подвешены». Кроме того, бессмысленно использовать режим -slp для сжатия небольших наборов данных (менее 100 МБ). Но если вы сжимаете большие наборы данных (300 Мб или более) методом LZMA с большим словарем, вы можете получить увеличение скорости на 5% -10% в режиме -slp.
-mmt=on — устанавливает режим многопоточности. Если у вас многопроцессорная / многоядерная система, вы можете получить увеличение скорости с этим ключом. 7-Zip поддерживает режим многопоточности только для сжатия LZMA/LZMA2 и сжатия/распаковки BZip2.
-ms=off — отключает создание solid-архивов. Качество сжатия при этом, конечно же, падает, однако есть весьма весомые плюсы — вы можете периодически обновлять данные базового архива чтобы уменьшить размер дифференциальный бэкапов, и так как архив не является целостным, не нужно будет его дополнительно «пережимать». Non-solid архив более стоек к повреждениям, и время извлечения из него происходит заметно быстрее.
Include / exclude листы
По умолчанию определено 2 типа списка — список включаемых файлов / директорий (include_general.txt), и 2 списка исключений (exclude_general.txt, exclude_regexp.txt).
Список включения также поддерживает UNC-пути. Для того, чтобы поместить файл / директорию в исключения, путь должен быть относительным.
Например, если директория для бэкапа E:\foo\bar, и мы хотим исключить вложенную директорию E:\foo\bar\somefolder, то в exclude_general.txt мы должны добавить bar\somefolder или bar\somefolder\
Путь без слэша в конце может относиться как к файлу, так и к директории.
В exclude_regexp.txt вносятся исключаемые по regexp файлы, которые просматриваются рекурсивно. * — последовательность произвольных символов,? — любой символ.
7-Zip не использует системный синтаксический анализатор подстановочных знаков, поэтому «любой файл» для 7 Zip это ‘*’, а ‘*.*’ — файл, имеющий расширение.
Ну и наконец, скрипт целиком:
@ ECHO OFF
REM Sources were found on http://sysadminwiki.ru/wiki/Резервное_копирование_в_Windows
CD %~dp0
TITLE winfsbackup
MODE CON: COLS=120 LINES=55
ECHO Setting vars...
REM --- Definition block ---
SET verboseLevel=1
SET tmpDir=D:\winfsbackup\tmp
SET run_7z=D:\winfsbackup\7z\7za.exe
SET run_pdate=D:\winfsbackup\pdate\pdate.exe
FOR /F "usebackq" %%a IN (`%run_pdate% e`) DO (SET dm=%%a)
FOR /F "usebackq" %%a IN (`%run_pdate% u`) DO (SET dw=%%a)
FOR /F "usebackq" %%a IN (`%run_pdate% V`) DO (SET wn=%%a)
SET LogDir=D:\winfsbackup\log
SET Log=%LogDir%\general.log
SET dDir=D:\winfsbackup\backup
SET dlmDir=D:\winfsbackup\backup\old
SET baseArch=%dDir%\general.7z
SET IncludeList=lists\include_general.txt
SET ExcludeList=lists\exclude_general.txt
SET ExcludeRegexp=lists\exclude_regexp.txt
SET updArch_dw=%dDir%\day_general_%dw%.7z
SET updArch_wn=%dDir%\week_general_%wn%.7z
IF %verboseLevel%==0 GOTO Main
ECHO Verbose mode ON!
ECHO Today is %wn% week of year, %dw% day of week.
ECHO Full quarter backup will execute (if enabled) on 2, 19 and 36 week, friday.
ECHO Temporary directory is %tmpDir%
ECHO Now logging into %Log%
ECHO Current backup directory is %dDir%, older backups stored into %dlmDir%
:Main
REM Here discribed conditions - in which case script will make new backup, update older one, etc
REM You are free to change these conditions
REM Make sure you envisaged all possible cases
REM Actions here are not disigned to be active more than 1 at same time, excluding base condition
REM If you want multiple conditions, you should edit it
REM Base condition - full backup will be created if it is not exist
IF NOT EXIST %baseArch% GOTO BaseArchive
REM Command below turns on making full backup at 1'st day of every month, in other days - increments
REM IF %dm% EQU 1 GOTO BaseArchive ELSE GOTO UpdateArchive
REM This option enables updating full backup every month
IF %dm% EQU 1 GOTO UpdateBase ELSE GOTO UpdateArchive
REM Uncomment these 3 commands if you want to run full backup ~every quarter (2, 19, 36 week of year)
REM IF NOT %wn%.%dw% EQU 02.5 GOTO UpdateArchive
REM IF NOT %wn%.%dw% EQU 19.5 GOTO UpdateArchive
REM IF NOT %wn%.%dw% EQU 36.5 GOTO UpdateArchive
REM This option enables rewriting base archive every saturday with new files in order to decrease size of increments
REM IF %dw% EQU 6 (GOTO UpdateBase) ELSE (GOTO UpdateArchive)
REM Here you can place default action if conditions of previous ones were not executed.
%run_pdate% "Z --- \A\c\t\i\o\n \w\a\s\ \n\o\t \s\e\l\e\c\t\e\d\! >> %Log%
ECHO Warning! No one condition matching, check :Main block of script
GOTO End
:BaseArchive
ECHO 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% 2> nul
%run_pdate% "====== Y B =======" > %Log%
%run_pdate% "Z --- \S\t\a\r\t \t\o \c\r\e\a\t\e \n\e\w \a\r\c\h\i\v\e" >> %Log%
ECHO Creating new backup %baseArch%
%run_7z% a %baseArch% -w%tmpDir% -i@%IncludeList% -x@%ExcludeList% -xr@%ExcludeRegexp% -bsp2 -ssw -slp -scsWIN -mmt=on -mx3 -ms=off >> %Log%
IF %ERRORLEVEL%==0 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \0 \- \a\r\c\h\i\v\e \s\u\c\c\e\s\s\f\u\l\l\y \c\r\e\a\t\e\d!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==1 (
%run_pdate% "Z --- \W\a\r\n\i\n\g\! \R\e\c\i\e\v\e\d\ \e\x\i\t \c\o\d\e \1" >> %Log%
) ELSE (
IF %ERRORLEVEL%==2 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \2 \- \F\A\T\A\L \E\R\R\O\R\!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==7 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \7 \- \C\o\m\m\a\n\d \p\r\o\m\p\t \e\r\r\o\r!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==8 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \8 \- \N\o\t \e\n\o\u\g\h \m\e\m\o\r\y" >> %Log%
) ELSE (
ECHO Recieved error 255 - user stopped running process or exit code unknown! >> %Log%
)
)
)
)
)
)
)
GOTO End
:UpdateBase
ECHO Refreshing base archive
ECHO ******* ******* ******* >> %Log%
%run_pdate% "Z --- \S\t\a\r\t \t\o \u\p\d\a\t\e \a\r\c\h\i\v\e" >> %Log%
%run_7z% u %baseArch% -up0q1r2x1y2z1w0 -w%tmpDir% -i@%IncludeList% -x@%ExcludeList% -xr@%ExcludeRegexp% -bsp2 -ssw -slp -scsWIN -mmt=on -mx5 -ms=off >> %Log%
IF %ERRORLEVEL%==0 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \0 \- \u\p\d\a\t\e \s\u\c\c\e\s\s\f\u\l\l\y \f\i\n\i\s\h\e\d" >> %Log%
) ELSE (
IF %ERRORLEVEL%==1 (
%run_pdate% "Z --- \W\a\r\n\i\n\g\! \R\e\c\i\e\v\e\d\ \e\x\i\t \c\o\d\e \1" >> %Log%
) ELSE (
IF %ERRORLEVEL%==2 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \2 \- \F\A\T\A\L \E\R\R\O\R\!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==7 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \7 \- \C\o\m\m\a\n\d \p\r\o\m\p\t \e\r\r\o\r!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==8 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \8 \- \N\o\t \e\n\o\u\g\h \m\e\m\o\r\y" >> %Log%
) ELSE (
ECHO Recieved error 255 - user stopped running process or exit code unknown! >> %Log%
)
)
)
)
)
)
)
GOTO End
:UpdateArchive
ECHO Updtaing existing full backup
ECHO ******* ******* ******* >> %Log%
%run_pdate% "Z --- \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 ---
<nul set /p strTemp=Updating %baseArch% to incremental %updArch% archive
ECHO.
%run_7z% u %baseArch% -u- -up0q0r2x0y2z0w0!%updArch% -w%tmpDir% -i@%IncludeList% -x@%ExcludeList% -xr@%ExcludeRegexp% -bsp2 -ssw -slp -scsWIN -mmt=on -mx5 -ms=off >> %Log%
IF %ERRORLEVEL%==0 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \0 \- \u\p\d\a\t\e \s\u\c\c\e\s\s\f\u\l\l\y \f\i\n\i\s\h\e\d" >> %Log%
) ELSE (
IF %ERRORLEVEL%==1 (
%run_pdate% "Z --- \W\a\r\n\i\n\g\! \R\e\c\i\e\v\e\d\ \e\x\i\t \c\o\d\e \1" >> %Log%
) ELSE (
IF %ERRORLEVEL%==2 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \2 \- \F\A\T\A\L \E\R\R\O\R\!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==7 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \7 \- \C\o\m\m\a\n\d \p\r\o\m\p\t \e\r\r\o\r!" >> %Log%
) ELSE (
IF %ERRORLEVEL%==8 (
%run_pdate% "Z --- \E\x\i\t \c\o\d\e \8 \- \N\o\t \e\n\o\u\g\h \m\e\m\o\r\y" >> %Log%
) ELSE (
ECHO Recieved error 255 - user stopped running process or exit code unknown! >> %Log%
)
)
)
)
)
)
)
:End
ECHO Done!
%run_pdate% "Z --- \D\o\n\e" >> %Log%
ping localhost -w 1000 -n 5 > nul
Вместо окончания
Всегда есть люди, которые против подобных решений, и всеми руками-ногами «за» использование всяких акронисов и прочего «махрового энтерпрайза».
Я же считаю, что решение должно быть соразмерно поставленной задаче, а в моем случае задача — иметь в укромном месте резервную копию файлопомойки, которую можно быстро развернуть — именно этим меня и разочаровал ntbackup.
Собранный пример можно посмотреть на YandexDisk.
Там же — zip-архив для скачивания.
Конструктивная критика, советы, и тем более, тестирование — welcome!
Спасибо за внимание! Всем долгого аптайма, стабильного линка, и конечно, бэкапов под рукой.
Для операционных систем Windows Server компания Microsoft предлагает встроенную утилиту Windows Server Backup, предназначенную для полного или частичного резервного копирования системы. Этот инструмент позволяет настроить резервное копирование как по расписанию, так и в режиме реального времени, сохраняя данные на локальном диске или сетевом файловом хранилище.
В этой статье рассмотрим установку компонента Windows Server Backup и процесс выполнения полного резервного копирования на сетевое хранилище с использованием протокола SAMBA/CIFS.
Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽
Подключение файлового хранилища в качестве сетевого диска
1) Откройте Проводник, перейдите в раздел Этот компьютер и нажмите Сопоставить сетевой диск….
2) Укажите адрес папки в формате \\your_network_share и нажмите Finish.
3) Если требуется авторизация, появится окно ввода логина и пароля. Заполните форму, и сетевой диск отобразится в Проводнике Windows.
Теперь сетевой диск готов к использованию. Его можно указать в настройках приложений или использовать для полного резервного копирования всей системы с помощью Windows Server Backup.
Установка компонента Windows Server Backup
Самый быстрый способ установки компонента — через консоль PowerShell:
1) Проверьте, установлен ли компонент:
Get-WindowsFeature Windows-Server-Backup
Компонент не установлен, но доступен для установки вы увидите следующее:
Если компонент отсутствует, выполните команду для его установки:
Add-WindowsFeature Windows-Server-Backup –IncludeAllSubFeature
Установка через графический интерфейс:
1) Откройте Диспетчер сервера и выберите Управление -> Добавить роли и функции.
2) Выберите Установка на основе ролей или компонентов и нажмите Далее.
3) На этапе выбора сервера выберите текущий и нажмите кнопку Далее.
4) Оcтавьте роли сервера без изменений и нажмите Далее, а в следующем окне выбора компонентов выберите Windows Server Backup и нажмите Далее.
5) На этапе подтверждения нажмите Установить и дождитесь завершения процедуры.
Настройка и создание резервной копии системы
1) Запустите Windows Server Backup через Пуск -> Диспетчер сервера -> Инструменты -> Резервное копирование Windows Server.
2) В разделе Локальное резервное копирование выберите вариант Backup Once для однократного копирования или настройте расписание.
Однократное резервное копирование:
1) Нажмите Backup Once -> Backup Options -> Different options -> Next.
2) В разделе конфигурации выберите Полный сервер, чтобы создать копию всей системы.
3) Укажите ранее подключенный сетевой диск или локальный диск в качестве места хранения. Вы должны понимать, что этот диск будет отформатирован и зарезервирован для резервного копирования.
4) Введите адрес сетевого хранилища и нажмите Далее.
5) Нажмите Резервное копирование и дождитесь завершения процесса.
После завершения в сетевом хранилище появится папка WindowsImageBackup, которая будет содержать резервную копию системы.
Запланированное резервное копирование настраивается аналогичным образом, но дополнительно включает выбор времени и частоты выполнения резервных копий. Windows Server Backup автоматически создаст резервные копии в указанное время.
Эта инструкция поможет надежно сохранить данные вашего сервера с помощью встроенного инструмента Windows Server Backup.
Лицензионный ключ активации Windows Server от
Резервное копирование используется для сохранения копий данных и конфигурации системы на случай их потери или повреждения. Основными целями резервного копирования являются:
- Восстановление после сбоя, когда ошибки в программном обеспечении или конфигурации могут привести к сбою системы. Резервные копии позволяют вернуть систему к работоспособному состоянию.
- Защита от потери данных, когда пользователи или администраторы могут случайно удалить важные файлы или данные.
- Вирусы и другие виды вредоносного ПО могут зашифровать или уничтожить данные. Наличие актуальных резервных копий помогает восстановить данные до момента заражения.
- Многие отрасли требуют сохранения данных для аудита и соответствия нормативным требованиям. Резервные копии обеспечивают наличие таких данных, а также данных, предназначенных для длительного хранения и последующего доступа к ним в будущем.
- Резервные копии также позволяют администраторам тестировать изменения в системе, зная, что они могут вернуться к предыдущему состоянию в случае проблем.
Установка компонента системы архивации
В Windows Server 2016 существует штатная система архивации данных, предназначенная для создания резервных копий и восстановления системы из неё. Для установки данного средства откройте Server Manager и перейдите Manage
➝ Add Roles and Features
. В открывшемся визарде при помощи кнопки Next
дойдите до этапа выбора компонентов, где активируйте компонент Windows Server Backup
. После чего нажмите Next
, чтобы продолжить .
Система архивации данных будет проинсталлирована при нажатии кнопки Install
.
Создание резервной копии
По окончании установки запустите Windows Server Backup
из стартового меню системы.
Чтобы создать резервную копию системы или каких-либо файлов и каталогов, нажмите правую кнопку мыши на строке Local Backup
и выберите Backup Once
. Данное действие запустит мастер создания разового архива. Здесь же присутствует строка Backup Schedule
, при помощи которой можно создать задачу резервного копирования по расписанию.
В стартовом окне мастера нажмите Next
.
На следующем шаге выберите выберите Local drives
, если вы планируете сохранить резервную копию на этом же сервере, или Remote shared folder
, если архив будет копироваться на удалённую машину. Обратите внимание, что для создания резервной копии требуется достаточный объём свободного пространства. В случае выбора опции Local drives
ваш сервер должен иметь по крайней мере ещё один дополнительный том помимо системного диска C:
. Например, в нашем случае мы будем архивировать данные на предварительно созданный диск D:
. Как создать диск D:
, описано в статье нашего справочника, посвящённой копированию образа системы при помощи утилиты Disk2vhd.
Далее выберите локальный диск, на который будет сохраняться резервная копия.
В заключительном окне визарда нажмите кнопку Backup
для начала процесса создания резервной копии.
Данный процесс может занять продолжительное время.
По его окончании нажмите кнопку Close
.
В самом менеджере появится строка, соответствующая только что созданному архиву.
Восстановление данных из резервной копии
Таким образом, теперь у вас есть архив, содержащий резервную копию определённых данных. Имея его, при необходимости вы можете восстановить сохранённую версию этих файлов, каталогов или целого тома. Чтобы это сделать, на строке Local Backup
кликните правую кнопку мыши и в открывшемся контекстном меню выберите Recover
.
В стартовом окне визарда выберите вариант A backup stored on another location
.
Затем выберите Local drives
, так как резервная копия расположена на локальном диске D:
.
В строке Backup location
укажите диск, на котором расположен архив.
В следующем окне кликните на строку, соответствующую серверу, данные которого будут восстановлены.
Затем выберите дату и время, соответствующие дате и времени создания резервной копии.
В следующем окне выберите тип данных, которые нужно восстановить из резервной копии.
- Опция
Files and folders
позволяет восстанавливать отдельные файлы и папки из резервной копии. - Выбрав
Hyper-V
, вы можете восстанавливать виртуальные машины, работающие под управлением Hyper-V. - Опция
Volumes
позволяет восстанавливать целые тома или разделы дисков. - Пункт
Applications
предназначен для восстановления приложений и связанных с ними данных. System State
позволяет восстанавливать системное состояние сервера. Системное состояние включает критически важные системные файлы, реестр, драйверы устройств, базу данных Active Directory (если сервер является контроллером домена), сертификаты и многое другое.
В нашем примере мы рассмотрим восстановление из резервной копии каталогов и файлов. Следовательно, необходимо выбрать пункт Files and folders
.
Далее выберите каталоги и файлы, которые нужно извлечь из архива. В нашем примере это каталог Users
вместе со всем его содержимым.
Поскольку нужно сделать так, чтобы при восстановлении целевой каталог был заменён каталогом из резервной копии, следует при помощи кнопки Browse
выбрать папку Users
в качестве конечного места её расположения. В разделе When this wizard items in the backup that are already in the recovery destination
выберите пункт Overwrite the existing versions with the recovered versions
. Это будет означать, что в процессе восстановления данные каталога Users
на диске C:
будут заменены данными из резервной копии.
На заключительном шаге мастер покажет суммарную информацию о предстоящем процессе. Для запуска процедуры восстановления данных нажмите кнопку Recover
.
По завершении процесса закройте визард при помощи кнопки Close
.
Заключение
Таким образом, мы рассмотрели, как работает система архивации данных в Windows Server 2016. На виртуальном сервере мы установили инструмент Windows Server Backup
, создали с его помощью резервную копию и восстановили данные из созданного архива.
* * *
Критически важные компоненты для выполнения полного восстановления системы Windows.
- Устройства и тома состояния системы, включая Active Directory, файлы загрузки, реестры для восстановления состояния системы
- Системные тома, включая загрузочный раздел EFI и резервный MSR
- Тома служб приложений (загрузка, система и автозагрузка);
- Windows Recovery Partition (WinRE) в любой применимой версии ОС Windows
Volume Shadow Copy Service Microsot служба теневого копирования томов в MS Windows используется для защиты важных служебных данных операционной системы и приложений, сторонних приложений и пользовательских данных.
* * *
НАСТРОЙКА РЕЗЕРВНОЕ КОПИРОВАНИЕ WINDOWS SERVER (встроенными средствами архивации)
Резервное копирование Windows Server
Для резервного копирования (архивирования) Windows Server встроенными средствами в версиях, начиная с Windows Server 2008 R2 и позже, предусмотрена, так называемая «Система архивации Windows Server», в основе которой лежит служба теневого копирования тома Microsoft VSS. В более ранних версиях Windows, за выполнение этой функции отвечала утилита Ntbackup.exe, по умолчанию входящая в комплект настольных и серверных операционных систем (Windows XP, Server 2008 и ранее). Служба теневого копирования тома VSS (Volume Shadow Copy Service) дает возможность выполнять резервное копирование системы и файлов без остановки работы с ними за счет создания программных снимков образа диска.
Если «Система архивации Windows Server» по умолчанию не установлена, необходимо перейти Меню Пуск > Администрирование > Диспетчер Сервера > Компоненты > Добавить компонент. После этого ярлык для запуска службы появится в Меню Пуск > Администрирование.
Консоль настройки системы представляет собой стандартное окно Windows с панелью управления в верхней части, с возможностью вынести в отдельную область экрана. С помощью этой консоли можно выполнить минимум самых необходимых действий: настроить однократную или периодическую архивацию (создать задание), восстановить данные, изменить параметры архивации тома.
Система архивации данных Windows Server поддерживает резервное копирование как образа системы всего сервера, для восстановления последнего состояния всей системы, так и отдельных логических дисков (томов), файлов или папок.
Важные ограничения:
- Не поддерживает резервное копирование файлов и папок размером более 2040 ГБ (или 2 ТБ)
- Резервное копирование только NTFS дисков
Система резервного копирования Windows Server поддерживает выполнение автоматического резервного копирования по заданному расписанию. Это может быть один или несколько раз в сутки с периодичностью не чаще 30 минут.
Для хранения архива (резервной копии) возможно использование несколько разных вариантов: отдельные физические или виртуальные диски, тома, съемные переносные носители (Flash, CD, DVD), а так же сетевые папки.
Важные ограничения:
- Жесткий диск, выбранный в качестве хранилища, предварительно полностью форматируется и по сути, будет использован, только для бэкапа
- В сетевой папке единовременно может храниться только один архив, поэтому каждый раз при записи новой резервной копии, старая копия будет удалена
- Нет возможности указать одновременно несколько мест хранения резервной копии
- Не поддерживает хранение резервной копии на ленточных накопителях
- Нет возможности выполнить проверку целостности резервной копии и управлять сроками хранения архива
* * *
RSYNC/CWRSYNC БЕСПЛАТНАЯ УТИЛИТА ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ ФАЙЛОВ LINUX И WINDOWS СИСТЕМ
Remote Sync (Rsync) утилита позволяющая копировать файлы и папки между локальными дисками или устройствами в сети. Rsync разработан специально для Linux систем, но с помощью дополнительных инструментов может быть запущен из под Windows. Один из способов скачать и установить Windows Subsystem Linux (WSL) с Microsoft Store.
Еще один из вариантов использование оптимизированной под Windows утилиты cwRsyn имеющей бесплатный и платный дистрибутив с графическим интерфейсом.
* * *
ACRONIS BACKUP: РЕЗЕРВНОЕ КОПИРОВАНИЕ WINDOWS SERVER
Acronis Backup (Кибер Бэкап для российского рынка), относится к универсальным кроссистемным и аппаратно-независимым решениям для резервного копирования с клиент-серверной архитектурой и консолью централизованного управления. Особенность более простой и возможно понятный интерфейс.
Логика работы всех решений основана на заданиях, выполняемых по заданному расписанию или событию. Заданий может быть одно или несколько, каждое задание включает в себя информацию об объектах резервного копирования (рабочие станции или сервера, включая виртуальные машины и сетевые хранилища SAN или NAS), устройство для хранения, время или период создания копии, а так же всевозможные дополнительные параметры (способ копирования, дедупликация, действия выполняемые после завершения задания и д.р.).
* * *
BACKUP EXEC: РЕЗЕРВНОЕ КОПИРОВАНИЕ WINDOWS SERVER
Для сравнения покажем, на что способны отдельные программы для резервного копирования. Конечно, функции таких программ намного шире и в основном рассчитаны для автоматизации резервного копирования ни одного, а сразу нескольких устройств, под управлением различных версий и видов операционных систем. В качестве примера возьмем два наиболее популярных решения используемых в организациях среднего масштаба: Acronis Backup и Backup Exec.
Backup Exec это специализированное программное решение, предназначенное, прежде всего, для автоматизации резервного копирования в организациях, где имеются не только физические, но и виртуальные сервера на базе VMware или Hyper-V. Система имеет классическую клиент-серверную архитектуру, с отдельной консолью управления, что позволяет выполнять удаленное резервное копирование и восстановление данных.
По сравнению с встроенной системой архивацией Windows, Backup Exec это полноценная система состоящая из сервера управления и клиентских приложений, что позволяет одновременно управлять резервным копированием сразу нескольких устройств и хранить резервную копию не только на локальных дисках или в сетевых папках, но и использовать широкий перечень полноценных и независимых хранилищ, в частности дисковые и ленточные устройства хранения (стример, автозагрузчик, ленточная библиотека) подключенные по SAN или NAS, а так же набирающие популярность онлайн сервисы для хранения данных в облаке (от Amazon, Google, Microsoft и др.).
Кроме стандартных функций, присущих системам резервного копирования, решение имеет множество дополнительных интеллектуальных технологий направленных на обеспечение максимальной защиты в любых непредвиденных ситуациях: моментальное восстановление, преобразование физических систем в виртуальные и обратно, проверка резервной копии на восстановление, поддержка выборочного восстановления объектов корпоративных приложений и баз данных, синтетический бэкап, дедупликация, всевозможные отчеты и автоматические уведомления, а так же многое другое, что может понадобиться в случаи аварии.
* * *
СРАВНЕНИЕ РАЗНЫХ РЕШЕНИЙ ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ
Итак, если сравнить плюсы и минусы приведенных решений для резервного копирования, можно сделать следующие выводы. Встроенная система архивации Windows Server это бесплатное решение и это ее ключевое и пожалуй единственное преимущество, но если в наличии не один сервер и тем более не одна виртуальная машина, такой способ защиты потребует дополнительное время на обслуживание.
В свою очередь специализированные системы нуждаются в дополнительных ресурсах, для установки сервера резервного копирования (физический сервер или виртуальная машина) и возможно отдельного устройства для хранения данных.
Так же для некоторых администраторов специализированные системы могут показаться сложными и перегруженными, имеющимся функционалом, что затрудняет работу с ними. Ведь никто не хочет тратить лишнее время на чтение руководств и разбираться с логикой работы системы.
Статьи по теме: Сравнение систем резервного копирования