Статьи и доки
Меню сайта





Категории каталога
WIN [1]
Виндоз
MySQL [3]
Заметки по MySQL
FreeBSD [14]
Всё по FreeBSD
Скрипты WINDOWS [3]


Форма входа


Поиск


Друзья сайта



Приветствую Вас, Гость · RSS 24.08.2017, 09:41
Главная » Статьи » Скрипты WINDOWS

Ntbackup + systemstate
Всем добрый день.
Озадачился бэкапом контроллеров домена. Почитал и погуглил, скачал скриптик. Всё более менее просто.
Исходная задача: делать systemstate бэкап на шести серверах и лить это всё на фтп через батник.

Теория:

Quote

Ntbackup
Архивация может выполняться из командной строки или пакетного файла с помощью команды ntbackup и различных параметров командной строки.
Синтаксис
ntbackup backup [systemstate] "@имя_файла_bks" /J {"имя_задания"} [/P {"имя_пула"}] [/G {"идентификатор_guid"}] [/T { "имя_ленты"}] [/N {"носитель"}] [/F {"имя_файла"}] [/D {"описание"}] [/DS {"имя_сервера"}] [/IS {"имя_сервера"}] [/A] [/V:{yes|no}] [/R:{yes|no}] [/L:{f|s|n}] [/M {тип_архива}] [/RS:{yes|no}] [/HC:{on|off}] [/SNAP:{on|off}]
Параметры
systemstate
Указывает, что следует выполнить архивацию данных о состоянии системы. При выборе данного параметра будет установлен обычный или копирующий тип архивации.
@имя_ bks_файла
Указывает имя файла (с расширением bks) со списком файлов для архивации в данном задании архивации. Перед именем файла должен стоять символ @. Этот файл содержит сведения о файлах и папках, подлежащих архивации. Этот файл должен быть создан с помощью программы архивации с графическим интерфейсом.
/J {"имя_задания"}
Указывает имя задания, которое будет упоминаться в файле журнала. Обычно имя задания описывает файлы и папки, подлежащие архивации в данном задании архивации, а также содержит дату и время архивации.
/P {"название_пула"}
Указывает пул носителей, носитель из которого будет использован. Обычно это подпул пула носителей архивации, такой как 4-мм DDS. Если этот подпул был выбран, невозможно использовать параметры командной строки /A, /G, /F или /T.
/G {"идентификатор_guid"}
Добавляет или заменяет данные на ленте. Не следует использовать этот параметр совместно с параметром /P.
/T {"имя_ленты"}
Добавляет или заменяет данные на ленте. Не следует использовать этот параметр совместно с параметром /P.
/N {"носитель"}
Указывает новое имя ленты. Не следует использовать параметр /A совместно с этим параметром.
/F {"имя_файла"}
Путь и имя файла на логическом диске. Совместно с этим параметром не следует использовать следующие параметры: /P /G /T.
/D {"описание"}
Указывает метку для каждого архива.
/DS {"имя_сервера"}
Производит архивацию файла службы каталогов указанного сервера Microsoft Exchange.
/IS {"имя_сервера"}
Производит архивацию файла банка сообщений указанного сервера Microsoft Exchange.
/A
Производит архивацию с добавлением в архив. Совместно с этим параметром следует использовать параметр /G или /T. Не следует использовать этот параметр совместно с параметром /P.
/V:{yes|no}
Проверяет данные после архивации.
/R:{yes|no}
Ограничивает доступ к этой ленте одним владельцем или членами группы «Администраторы».
/L:{f|s|n}
Указывает тип файла журнала: f=полный, s=сокращенный, n=нет (файл журнала не создается).
/M {тип_архива}
Указывает тип архива. Этот параметр должен иметь одно из следующих значений: normal, copy, differential, incremental или daily.
/RS:{yes|no}
Производит архивацию перемещенных данных на съемных носителях. Параметр командной строки /RS не требуется для архивации локальной базы данных съемных носителей (эта база данных содержит заместители мест файлов удаленного хранилища). При архивации папки %systemroot% программа архивации автоматически архивирует и базу данных съемных носителей.
/HC:{on|off}
Использует при возможности аппаратное сжатие.
/SNAP:{on|off}
Указывает, является (on) или не является (off) архив снимком состояния тома.
/M {тип_архива}
Указывает тип архива. Этот параметр должен иметь одно из следующих значений: normal, copy, differential, incremental или daily.
/?
Отображает справку в командной строке.
Замечания
• Восстановление файлов из командной строки с помощью команды ntbackup невозможно.
• Если следующие параметры командной строки не заданы, будут использованы соответствующие настройки программы архивации с графическим интерфейсом: /V /R /L /M /RS /HC. Например, если в диалоговом окне Параметры программы архивации включено сжатие при архивации, при отсутствии параметра /HC в командной строке данные будут сжиматься. Но если в командной строке задан параметр /HC:off, он заменяет значение параметра диалогового окна Параметры, и сжатие не используется.
• Если на данном компьютере запущены службы мультимедиа Windows и требуется выполнить архивацию файлов этих служб, ознакомьтесь с разделом о выполнении архивации служб Windows Media электронной документации по службам Windows Media. Для архивации или восстановления файлов служб Windows Media следуйте инструкциям, приведенным в электронной документации по службам Windows Media.
• Архивация данных о состоянии системы возможна только для локального компьютера. Нельзя архивировать данные о состоянии системы для удаленного компьютера.
• Если управление носителями осуществляется службой «Съемные ЗУ» или для сохранения данных используется внешнее хранилище, следует регулярно архивировать файлы, находящиеся в следующих папках:
системный_корневой_каталог\System32\Ntmsdata
системный_корневой_каталог\System32\Remotestorage
Это будет гарантировать возможность восстановления всех данных, сохраненных во внешнем хранилище и на съемном ЗУ.

Решение: определимся с форматом названия бэкапа:

Делаю так: bckp-[YYYYMMDD]-[SERVERID]-systemstate.bkf
YYYYMMDD - год, месяц и число
SERVERID - название сервера (или идентификатор)
systemstate - вид бэкапа

Подготовка:
Выполнение date /T на двух различных серверах дало мне два разных результата:
19.11.2009 и Thu 11/19/2009 . Копаться в региональных настройках не буду, поэтому искомое YYYYMMDD получу следующим образом:

Для случая с форматом 19.11.2009:

Code
set yyyy=%date:~-4%
set mm=%date:~3,-5%
set dd=%date:~0,-8%
set fd=%date:~-4%%date:~3,-5%%date:~0,-8%

где yyyy - год, mm - месяц, dd - день и fd = полная дата в нужном формате.

Для второго случая Thu 11/19/2009 делаем так:

Code
set yyyy=%date:~-4%
set mm=%date:~4,-8%
set dd=%date:~7,-5%
set fd=%date:~-4%%date:~4,-8%%date:~7,-5%

В обоих случая echo %fd% даст нам дату в формате YYYYMMDD. Можно пойти другим путём и привести даты к единообразию по другому, но, в принципе, я им не интересовался. Далее сам скрипт бэкапа:

Code

@echo off

rem File : bckp-systemstate.bat
rem Computer : dcont1
rem Use : systemstate backup and upload
rem Date : 19.11.2009
rem Author : J.Richter
rem Changes : None

REM -------------------
REM SET VARIABLES
REM -------------------
set serverid=dcont1
set dstdir=d:\backupss
set fd=%date:~-4%%date:~4,-8%%date:~7,-5%

REM -------------------
REM SYSTEM BACKUP START
REM -------------------
с:\WINDOWS\system32\ntbackup.exe backup systemstate /v:yes /r:no /rs:no /hc:off /m normal /j "%serverid% system state backup" /l:f /f "%dstdir%\bckp-%fd%-%serverid%-systemstate.bkf"

REM -------------------
REM FTP UPLOADING
REM -------------------
ftp -i -s:putonftp.ini 192.168.1.188

Итак, здесь меняется только переменные в разделе SET VARIABLES и адрес фтп-сервера в последней строчке. Чета я его не вынес в переменные, да бог с ним. Также потребуется файл putonftp.ini (смотри последнюю строчку). В этот файл будут писаться команды, которые выполняются при подключении к фтп-серверу:

Code

skbackup_systemstate
skbackup_systemstate

bin
cd SYSTEMSTATES
lcd d:\backupss
mput *.bkf
bye

здесь
"skbackup_systemstate" и вторая строчка с "skbackup_systemstate" - это логин и пароль. Далее все стандартные команды для сервера фтп.

Замечания.
В качестве фтп-сервера под винды у меня стоит GuildFTPd.
Файлики старше семи дней будем удалять скриптом.

Допишу про скрипт по удалению файлов старше 7 дней
Допишу про восстановление systemstate.

Скрипт по удалению файлов старше 7 дней: http://rm-rf.ucoz.ru/publ....-1-0-26

Категория: Скрипты WINDOWS | Добавил: rm-rf (19.11.2009)
Просмотров: 6032 | Комментарии: 2 | Рейтинг: 5.0/1 |
Всего комментариев: 1
1  
восстановление systemstate всегда интересовало...

Имя *:
Email *:
Код *:
Сайт управляется системой uCoz