Войти

Показать полную графическую версию : Резервное копирование клиентских машин.


Страниц : [1] 2

NikolayHAOS
26-09-2017, 08:29
Всем доброго времени суток.
Есть сервер под управлением 2008R2, RAID-1 на 2000 гигов.
Нужно с трех машин зеркалить определенные каталоги и делать их резервное копирование, на сервере двух-трех копии файла предполагаю будет достаточно, более старые удалять.
Подскажите как сие организовать. Групповых политик нет.
-----------------
Как я себе это представляю.
В каталоге есть файл New1, он зеркалится по расписанию в аналогичный каталог на сервере, где происходит его бекап Backup1.
При изменении файла New1 происходит его зеркалирование на сервер и его бекап Backup2
Тоже самое и имеем Backup3
В случае заражения или потери данных у нас есть бекапы Backup1 и Backup2 так как в случае шифрования файлов сам файл New1 и его зеркальная копия, а также вероятно Backup3 будут не пригодны для работы. При создании Backup4, Backup1 удаляется.

Поправьте если я не прав.

paranoya
26-09-2017, 09:45
Переносим важные файлы на сервер. Расшариваем папку с этими файлами и даём доступ только нужным людям. На сервере включаем теневые копии для диска с важными файлами. Ночью делаем бекап встроенными в 2008R2 средствами на другой диск.
По вкусу настраиваем временной интервал для создания теневых копий, количество архивов для обычного бекапа, мониторинг и тест архивов.
Как-то так делается правильно.
Есть другой вариант - используя robocopy настраивается задача на рабочих станциях, которая отслеживает изменения исходного каталога и копирует изменения на сервере. На сервере настраивается встроенный бекап, так же как и в первой задаче. Либо всё тем-же robocopy настраивается задача которая копирует файлы в другое место. К этому всему можно прикрутить архивацию любимым архиватором. И так же не забываем проверять сделанные архивы на восстановление.

NikolayHAOS
26-09-2017, 16:28
На сервере включаем теневые копии для диска с важными файлами. Ночью делаем бекап встроенными в 2008R2 средствами на другой диск. »
На сервере RAID1, других дисков нет и не предвидится. Сельская школа.
Потому и хочу что бы данные были как минимум в двух местах, на сервере и на рабочих машинах. А так как часто данные пересекаются, одни и те же файлы на разных компьютерах, то получается чуть большая защита для свежих файлов. (три компьютера это секретарь, директор и завуч)

paranoya
26-09-2017, 17:03
А так как часто данные пересекаются, одни и те же файлы на разных компьютерах, то получается чуть большая защита для свежих файлов. »
Тогда используй второй вариант.

NikolayHAOS
27-09-2017, 06:47
Нашел на дружественном форуме.
Зеркалирование файловых ресурсов утилитой robocopy (http://www.cyberforum.ru/cmd-bat/thread792016.html#post4299447)
Предлагается использовать файл сценария и cmd файл.


:: Файл настроек задания программы Robocopy
:: Задание: создать зеркало диска D: в подкаталоге D текущего каталога
:: Копируемый каталог
/SD:D:
:: Каталог назначения, указан относительный путь
/DD:.\D
:: Перечень каталогов, которые НЕ надо копировать, по одному в каждой строке
:: Внимание! Исключенные из копирования подкаталоги не удаляются
:: из каталога назначения, если они уже там есть
/XD
D:\RECYCLER
D:\System Volume Information
D:\Temp
:: Запись в файл журнала
/LOG:disk_d.log
/TEE :: также выводить сообщения в консоль
/NP :: не показывать прогресс (%) для каждого файла
:: Опции копирования
/MIR :: Создать зеркало (MIRror)
:: Повтор копирования в случае ошибок
/R:10 :: количество повторов
/W:30 :: время ожидания перед повтором в секундах



@echo off
:: запустить настроенные задания (*.rcj), можно несколько подряд
robocopy.exe /job:disk_d
echo.
:: ждать нажатия клавиши
pause

В принципе все понятно, но есть ряд вопросов.
Параметр /SD:D:
изменил на /SD:D:\111 стал копироваться каталог 111, вопрос а как копировать несколько каталогов.
Вот так не прокатило,
/SD:D:\111
/SD:D:\112
/SD:D:\113

Перечисление через запятую тоже, как указать неколько каталогов? если есть русские буквы и пробелы нужны какие либо нюансы?
По вкусу настраиваем временной интервал для создания теневых копий, количество архивов для обычного бекапа, мониторинг и тест архивов. »
А как сие включить? где почитать, а то поиском какая-то лабуда бьется, чтоб так сказать понятным языком.

Iska
27-09-2017, 08:05
NikolayHAOS, самое главное, о чём я не перестаю повторять (и, наверное, некоторых коллег уже «достал» этим), помните: зеркалирование не есть резервное копирование. В случае, если в источнике окажутся повреждённые объекты, они с той же непосредственностью будут лихо отзеркалированы на приёмник, и мы останемся без резервных копий. То есть, резервирование — отдельно, зеркализование — отдельно. Резервные копии должны быть разнесены по времени, дабы не оказаться внезапно у разбитого корыта. В любом случае, использование зеркалирования в качестве замены резервирования очень уязвимо к любым повреждениям или ошибкам источника.

как указать неколько каталогов? »
Никак. Используйте обходные пути:

фильтрацию источника (исключение объектов);
один каталог, в котором будут связи каталогов или символические ссылки на потребные каталоги;
несколько заданий (/JOB) RoboCopy.

Мне лично видится наиболее простым способом использование одного задания совместно с «/NOSD» и строка примерно такого вида (не рассматривайте в качестве точного написания):
for %%i in ("Источник1" "Источник2" … "ИсточникN") do robocopy.exe "%%~i" /job:ШаблонЗадания.rcj /ПрочиеПараметры

NikolayHAOS
27-09-2017, 12:56
помните: зеркалирование не есть резервное копирование. »
Это я понимаю, посему и делаю сначала зеркалирование, а потом резервное копирование зеркала.
Правда сказать резервная копия будет хранится на том же раид1 что и зеркало, но скажем это больше рассчитано на защиту от вирусов и действий пользователя чем на выход из строя оборудования.
Хотя вот прямо сейчас раид пашет на одном диске второй вышел из строя и еще в процессе покупки :-)

NikolayHAOS
27-09-2017, 20:12
Вот как в итоге сделал.

robocopy C:\111\221 "\\Kanevserver44\Individual\Sekretary\mirror\221" /MIR /Z /R:2 /W:5 /NP /LOG:disk_d.log
robocopy C:\111\222 "\\Kanevserver44\Individual\Sekretary\mirror\222" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
robocopy C:\111\223 "\\Kanevserver44\Individual\Sekretary\mirror\223" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
robocopy C:\111\224 "\\Kanevserver44\Individual\Sekretary\mirror\224" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
robocopy C:\111\225 "\\Kanevserver44\Individual\Sekretary\mirror\225" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log


Мобыть кто покритикует? Каталогов сколько будет еще точно не знаю, но думаю десяток другой наберется.
Если наберется больше, то буду оптимизировать структуру каталогов не смотря на протесты пользователя. :-)

Iska
27-09-2017, 21:41
Мобыть кто покритикует? »
Ну, тут не критика даже, я бы сказал — некоторая оптимизация, наподобие того, что я предлагал выше.
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceRoot=C:\111
set sDestRoot=\\Kanevserver44\Individual\Sekretary\mirror

if exist "%sSourceRoot%\." (
if exist "%sDestRoot%\." (
for %%i in ("221" "222" "223" "224" "225") do (
if exist "%sSourceRoot%\%%~i\." (
if exist "%sDestRoot%\%%~i\." (
robocopy.exe "%sSourceRoot%\%%~i" "%sDestRoot%\%%~i" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
) else (
echo Can't find destination folder [%sDestRoot%\%%~i].
)
) else (
echo Can't find source folder [%sSourceRoot%\%%~i].
)
)
) else (
echo Can't find destination root folder [%sDestRoot%].
exit /b 2
)
) else (
echo Can't find source root folder [%sSourceRoot%].
exit /b 1
)

endlocal
exit /b 0

NikolayHAOS
27-09-2017, 23:34
Тут на ночь глядя удаленно экспериментируя, столкнулся с проблемой русских названий ключевых каталогов, то есть если каталог внутри сохраняемого каталога, то все ОК, а вот если сама папка имеет русские буквы то пошла какая-то фигня.

Iska,
Спасибо. Всегда удивлялся и восхищался людьми для которых сей код открытая книга, хоть и понимаю что и куда, а что не понимаю то догадываюсь, НО самому с нуля мне такое не осилить.
------------------
Строка в самом начале это что-то значит? Или просто что-то типа примечания?
setlocal enableextensions enabledelayedexpansion
Пытался переводить разбивать на отдельные слова, что не внятное переводит гугл.

Iska
28-09-2017, 00:24
столкнулся с проблемой русских названий ключевых каталогов, то есть если каталог внутри сохраняемого каталога, то все ОК, а вот если сама папка имеет русские буквы то пошла какая-то фигня. »
Сохраняйте пакетный файл в кодировке OEM/866.

Строка в самом начале это что-то значит? Или просто что-то типа примечания?
setlocal enableextensions enabledelayedexpansion »
См.:
setlocal /?
Выполняет сразу три действия: Создаёт локальную область действия переменных окружения.
Разрешает расширения интерпретатора команд (хотя, в общем-то, по умолчанию оно разрешено и так).
Разрешает отложенное раскрытие переменных окружения.

Могу расписать подробнее с примерами, если потребно.

NikolayHAOS
28-09-2017, 07:31
Могу расписать подробнее с примерами, если потребно. »
Нет, благодарю.
Сегодня буду разбираться с тем уже что есть.
О результатах отпишу.

Так так, не зря говорят утро вечера мудренее, внимательнее всмотрелся в код.
Это я ради эксперимента, копировал каталоги из общей категории.
А как измениться ваш код если нужно будет скопировать каталоги по следующим путям. (пока для примера по памяти)
D:\Users\Secretary\Desktop\
D:\Users\Secretary\Documents\
D:\Секретарь\
D:\Диск сохранения\

Iska
28-09-2017, 09:02
если нужно будет скопировать каталоги по следующим путям. (пока для примера по памяти)
D:\Users\Secretary\Desktop\
D:\Users\Secretary\Documents\
D:\Секретарь\
D:\Диск сохранения\ »
Где здесь приёмник, источник? Как будут выглядеть данные пути, в случае простого перечисления в несколько строк Robocopy?

NikolayHAOS
28-09-2017, 10:11
Iska,
Извиняюсь.
Вот.
robocopy D:\Users\Secretary\Desktop\ "\\Kanevserver44\Individual\Sekretary\mirror\Desktop" /MIR /Z /R:2 /W:5 /NP /LOG:disk_d.log
robocopy D:\Users\Secretary\Documents\ "\\Kanevserver44\Individual\Sekretary\mirror\Documents" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
robocopy D:\Секретарь\ "\\Kanevserver44\Individual\Sekretary\mirror\Секретарь" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
robocopy D:\Диск сохранения\ "\\Kanevserver44\Individual\Sekretary\mirror\Диск сохранения" /MIR /Z /R:2 /W:5 /NP /LOG+:disk_d.log
Возможно, и скорее всего, чтобы не путаться с кодировкой, указанные каталоги будут ВСЕ написаны латиницей и без пробелов.
Интересный вопрос возник, по по поводу длинны пути, я помню что тоталкомандер мог копировать даже по ни читаемым путям (более сколько-то там символам) а robocopy может?
Или пути для зеркала нужно минимизировать?
То есть не
\Individual\Sekretary\mirror\Documents
а например
backup\Sekr\Doc

Iska
28-09-2017, 11:06
Возможно, и скорее всего, чтобы не путаться с кодировкой, указанные каталоги будут ВСЕ написаны латиницей и без пробелов. »
С Far Manager'ом не запутаешься — плагином Editor's settings changer задано, что кодировка пакетных файлов в редакторе будет OEM/866 ;). В любом случае, с этим нет проблем.

Вот. »
Ясно. Здесь, пожалуй, именно такая запись — в несколько строк — и окажется оптимальной. Разве что для лучшего восприятия я бы сдвигал параметры на одни и те же знакоместа, наподобие:
https://i.imgur.com/ypTHovp.png
Ну, в принципе можно вынести в отдельную переменную окружения корень целевых каталогов — «\\Kanevserver44\Individual\Sekretary\mirror».

Интересный вопрос возник, по по поводу длинны пути, я помню что тоталкомандер мог копировать даже по ни читаемым путям (более сколько-то там символам) а robocopy может? »
Может. По умолчанию. Есть параметр для принудительного ограничения:
/256 :: Отключить поддержку длинных путей ( > 256 знаков).

Или пути для зеркала нужно минимизировать? »
Для Robocopy — не нужно.

NikolayHAOS
07-12-2017, 13:13
Встал вопрос о запуске бат файла при завершении работы.
Как более универсальный вариант, был выбран способ, выключения компьютера самим бат файлом.
Хотелось бы чтобы в окне завершения Windows было что-то типа ожидайте... не выключайте компьютер.
Нашел решение прописать в начале файла shutdown -a а в конце shutdown -s -f -t 0
Но желаемого результата не достиг.
Как возможно решить данный вопрос.

Iska
07-12-2017, 13:38
Встал вопрос о запуске бат файла при завершении работы. »
В этом случае не забывайте о максимальном времени, отведённом по умолчанию групповой политикой на работу таких скриптов.

NikolayHAOS
07-12-2017, 13:54
Iska,
Опа.
Тогда оставлю как есть, запуск банктика заместо выключения компьютера. Пользователей всего трое приучу их по новому выключать компьютер запуском ярлычка на панели.
А потом мобыть допилю каким ни будь информационным сообщением типа работаю идите домой. :-) Но это уже в теме про бат файлы.

Iska
07-12-2017, 14:11
Опа.
Тогда оставлю как есть, запуск банктика заместо выключения компьютера. »
Это время можно увеличить, смотрите https://social.technet.microsoft.com/Forums/ru-RU/2574dee0-7e7e-48c8-8618-e2d52d8e9f5f/logon-?forum=windowsserverru :
По умолчанию для выполнения скриптов система дает 10 минут - попробуйте поменять это параметр:
Конфигурация компьютера - администратовные шаблоны - система- сценарии - Максимальное время выполнения сценариев групповой политики

Пользователей всего трое приучу их по новому выключать компьютер запуском ярлычка на панели. »
Ну, можно и так.

NikolayHAOS
07-12-2017, 19:53
Iska,
Тут подумалось, а ведь исполнение этого бат-файла будет проходить по всем каталогам каждый раз, для сличения данных и до записи новых. А это приведет к чрезмерной нагрузке на диск и существенно снизит его ресурс или нет?
Мобыть делать синхронизацию раз в неделю?




© OSzone.net 2001-2012