gifts2017

Еще раз о резервном копировании

Опубликовал Михаил Афанасьев (mikmike) в раздел Администрирование - Архивирование (backup)

Как то когда в очередной раз что-то произошло - я озаботился усовершенствованием системы резервного копирования. Хотелось сделать так чтобы все работало на полном автомате: архивировалось, удалялись старые копии архивов (диски не резиновые), чтобы по почте присылались уведомления, когда что-то пошло не так.

 

Как то когда в очередной раз что-то произошло - я озаботился усовершенствованием системы резервного копирования. Хотелось сделать так чтобы все работало на полном автомате: архивировалось, удалялись старые копии архивов (диски не резиновые), чтобы по почте присылались уведомления, когда что-то пошло не так. Так же не хотелось использовать что-то нелицензионное и именно по-этому отпал rar.

Имеющаяся у меня система несколько шире описанной. Лично я стараюсь чтобы работало так: все живет на рабочих серверах (базы), копия делается или на выделенный сервер или перекрестно (с одного сервера на другой) и выжимка (в данном случае полные архивы) сбрасывается на внешний диск. Информация хранится в 3 (!трех) независимых местах и шанс потери невелик. Я бы еще раскидал это все территориально, но … Вот такая вот паранойя J

 

Данная система предназначена для ежедневного резервного копирования. Подходит для фирм имеющих выделенный сервер, который не выключается на ночь. Может использоваться для 1С 7.7 файловый вариант, различных клиент-банков, относительно небольших файлопомоек и чего-то похожего. Для простоты будет рассматриваться архивация баз 1c, но под базой можно понимать каталог с любым содержимым. Все рассчитано на несколько баз. Если у вас одна база, то не стоит и огород городить – все можно делать руками.

 

Используемые понятия:

 

Путь к базе – место где она расположена относительно компьютера на котором запускается резервное копирование (e:\1c\db1\ или \\server1\1c\зуп\)

Имя базы (префикс) – содержательное имя базы, которое будет использовано в системе резервного копирования (7-buh-firma1, zik-firma2 и т.д.).

Каталог резервного копирования – каталог в который будут складываться все архивы.

В каталоге архивов создаются подкаталоги с именами - префиксами баз. В каждом подкаталоге должен присутствовать файл Префикс.flg – флаг наличия каталога и его готовности к копировании. Файл пустой – нулевой длины. Обязательно каталог резервного копирования должен быть на другом физическом диске сервера, еще лучше – на другом сервере, иначе теряется 90% смысла резервного копирования!!!

 

Технология работы:

 

Периодически (у меня раз в неделю в ночь с субботы на воскресенье) делается полный архив. Во все остальные дни делается разностный архив. Если изменений не много, то полные архивы можно делать реже. Если по какой-то причине полный архив вовремя не был создан, то разностные будут делаться относительно предыдущего.

 

При запуске резервного копирования, создается лог работы и этот лог пересылается администратору. В теме письма присутствует OK или ERROR, т.е. анализировать можно только письма с ошибками, все остальные существуют чисто для информации (у меня скидываются в отдельную папку и помечаются как прочитанные – соответственно  не привлекают внимания, но всегда можно посмотреть, что там и как произошло). Программка отправки почты простенькая и если связи нет, то и почта не дойдет, повторная отправка не предусмотрена, но сам лог все равно сохранится. Настройки отправки почты в основном скрипте – надо поправить ручками

 

Файлы системы хранятся в отдельном каталоге (мне кажется, что так удобнее). В нем присутствует подкаталог Daily.log куда складываются ежедневные логи для каждой базы. Имя логфайла состоит из префикса архива и даты, т.е. если архивация запускается в течении суток несколько раз (например при отладке), то лог будет дописываться.

 

Пример:

\\server1\1c\база1\ - путь к базе

7-BUH – префикс базы(какое-то удобное и понятное обозначение)

\\server2\backup\ - каталог для архивов

\\server2\backup\7-BUH\ - каталог, в который складываются архивы базы. В данном каталоге должен присутствовать файл 7-buh.flg

 

Скрипт считает количество полных архивов и слишком старые удаляет вместе со всем комплектом соответствующих разностных.

Я еще копирую полные архивы в специальный каталог (внешний диск), который чищу уже руками, в нем хранится архив за неопределенно долгое время.

 

Состав системы.

 

Файлы системы резервного копирования:

backup_f.vbs  - скрипт, который осуществляет запуск архиватора.

rc-full.cmd  - командный файл полного резервирования

rc-diff.cmd  - командный файл разностного резервирования

exclude-1c.txt – файл исключений

 

Необходимые файлы из дистрибутива 7zip:

7-zip.dll    

7z.dll       

7z.exe       

 

Программка, отправляющая протокол на почту админу:

blat.dll     

blat.exe     

blat.lib     

 

Пример командной строки из rc-diff.cmd  :

backup_f.vbs diff 7-BUH 6 \\server\1c\base1\ e:\backup\1c\  exclude-1c.txt

 

возможен последовательный запуск заданий (см выше) либо параллельный:

start /low backup_f.vbs full 7-BUH 6 \\server\1c\base1\ e:\backup\1c\  exclude-1c.txt

 

1. Вид архивации – full или diff, т.е. полная или разностная

2. Префикс архива

3. Количество архивов - количество полных архивов

4. Путь к базе

5. Путь к каталогу для архивов

6. Файл исключений – файлы не включаемые в архив.

 

PS Скрипт найден на просторах интернета, автор указан в начале в комментариях.

Программа отправки почты найдена там же, авторов можно узнать, запустив ее без параметров.

7zip – известный архиватор.

Все ПО свободное.

 

PPS Естественно предполагается что вы обладаете минимальной квалификацией и не будете сразу все прописывать на реальных базах. Это не на 100% готовая система, а «рыба» для индивидуальной настройки.

Скачать файлы

Наименование Файл Версия Размер
RC.zip 9
.zip 643,21Kb
18.10.13
9
.zip 643,21Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

2. Вячеслав Гилёв (Gilev.Vyacheslav) 20.10.13 05:26
— Говоришь, говоришь им… Делайте бэкапы! Ре-гу-ляр-но де-лай-те бэк-апы… — бормотала уборщица, энергично работая шваброй в серверной.
THEBESTolo4b; +1 Ответить 1
3. Михаил Афанасьев (mikmike) 20.10.13 10:45
(1) iov, Посмотрел. Спасибо за ссылку - интересное решение. Но мне кажется, что это скорее для рынка SOHO. Какого-то существенного выигрыша по сравнению со своим решением не увидел.
4. Михаил Афанасьев (mikmike) 20.10.13 10:46
(2) Gilev.Vyacheslav, шутки шутками, но если сильно интересно, то могу прислать фото выгоревшей до тла серверной. Печальное зрелище.
5. Александр Зубцов (iov) 20.10.13 11:46
(3)Это для расширения инструментария.
6. artur rakhmatulin (нормальный такой) 21.10.13 16:54
(4) mikmike, хехе :) и такое бывает...
тут на инфостарте была статейка, там вообще здание ураган разрушил )
7. DAnry (DAnry) 23.10.13 13:10
Пока гром не грянет, мужик не перекрестится
8. Alx Alx (alxarz) 01.04.14 07:15
в бесплатном варианте - http://efsaver.ru/edition.html
дешево и сердито...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа