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

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

 

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

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

 

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

 

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

 

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

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

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

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

 

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

 

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

 

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

 

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

 

Пример:

\server11cбаза1 — путь к базе

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

\server2ackup — каталог для архивов

\server2ackup7-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 \server1case1 e:ackup1c  exclude-1c.txt

 

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

start /low backup_f.vbs full 7-BUH 6 \server1case1 e:ackup1c  exclude-1c.txt

 

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

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

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

4. Путь к базе

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

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

 

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

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

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

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

 

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

8 Comments

  1. iov
  2. Gilev.Vyacheslav

    — Говоришь, говоришь им… Делайте бэкапы! Ре-гу-ляр-но де-лай-те бэк-апы… — бормотала уборщица, энергично работая шваброй в серверной.

    Reply
  3. mikmike

    (1) iov, Посмотрел. Спасибо за ссылку — интересное решение. Но мне кажется, что это скорее для рынка SOHO. Какого-то существенного выигрыша по сравнению со своим решением не увидел.

    Reply
  4. mikmike

    (2) Gilev.Vyacheslav, шутки шутками, но если сильно интересно, то могу прислать фото выгоревшей до тла серверной. Печальное зрелище.

    Reply
  5. iov

    (3)Это для расширения инструментария.

    Reply
  6. нормальный такой

    (4) хехе 🙂 и такое бывает…

    тут на инфостарте была статейка, там вообще здание ураган разрушил )

    Reply
  7. DAnry

    Пока гром не грянет, мужик не перекрестится

    Reply
  8. alxarz

    в бесплатном варианте — http://efsaver.ru/edition.html

    дешево и сердито…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *