Скрипт для инкрементного бэкапа Firebird

FirebirdПро инкрементный бэкап можно почитать здесь.
Очень удобно если надо быстро найти последнюю рабочую базу при сбое или быстро заиметь копию рабочей базы.
У меня в конторе он тоже используется и возможно мой опыт настройки кому-то пригодится.
Принцип работы следующий:

  1. В начале дня создается бэкап 0-уровня
  2. Каждый час создается бэкап 1-уровня
  3. Для каждого бэкапа создается .bat файл запустив который получим нормальную базу
  4. Бэкапы за предыдущие дни архивируются rar
  5. Архивы бэкапы больше 7 дней удаляются. Смысл хранить больше по времени не вижу — есть ежедневные бэкапы сделанные gbak

Результат работы по умолчанию помещает в каталог
.dir_snapshot<дата_бэкпапа>
Имя бэкапа состоит из «имени_базы»-«дата_время_создания_бэкапа».
Все это реализованно на JScript.
Сам скрипт можно скачать здесь.
Настраиваем скрипт под себя:

  1. Распаковали скрипт в каталог где будут хранится бэкапы.
  2. В этот же каталог помещаем консольную версию архиватор RAR
  3. Открыли в блокноте скрипт
  4. Сначала идет комментарий с описанием, а затем блок с переменными для настройки скрипта.
    Область с переменными

    Область с переменными

  5. Меняем переменные:
    • Base – путь до базы. Слеши обязательно должны быть двойными!
    • pas_sysdba – пароль для SYSDBA

Все остальное заполнять не обязательно. Читайте комментарии к переменным – все по русски 🙂

Теперь про то как настраивать скрипт для запуска в системе.

  1. Заходите в «панель задач» и выбираете «назначенные задания»
  2. Кликаем «Добавить задачу»
  3. Выбираем для выполнения скрипт SnapShot.js
  4. Ставим «Выполнять задание: ежедневно»
    Выполнять ежедневно
  5. Дата начала: 7:00 (некоторый запас времени до начала работы с базой)
  6. Задание создалось.
  7. Заходим в него. Закладка «Расписание» — кнопка «Дополнительно»
    Инкрементный бэкап - Дополнительные параметры
  8. Говорим что бы задание выполнялось каждый час в течение 16 часов. Т.е. у вас будет бэкап делаться с 7 утра до 23 вечера.
    Инкрементный бэкап - Указываем промежуток выполнения

Все действия с базой логируются и всегда можно понять почему скрипт не проработал правильно. Файл лога SnapShot.log

Скрипт для инкрементного бэкапа Firebird: 9 комментариев

  1. TAV

    Тестирую ваш скрипт на двух БД
    Время задания поставил одно и тоже — выполняется только одно задание.

  2. borismor

    2 tav
    Если в одно время запускаются:
    Скрипты для разных баз в разных каталогах?
    ———
    Вероятно, начинают одновременно писать в лог SnapShot.log
    В одном из скриптов можно задать другое имя лога.
    По коду сделать замену SnapShot.log на SnapShot_2.log

    Лог можете открыть блокнотом и посмотреть какие действия делает скрипт.

  3. Аноним

    А как настроить с помощью этого скрипта нормальные бэкапы? не инкрементные?

  4. Аноним

    to said
    Нечего точного сказать не могу т.к. не сказали текст ошибки.
    В этой строке скрипты пытается создать bat файл. Возможно у вас нет прав на запись.

  5. Павел

    «Сам скрипт можно скачать здесь.»
    нельзя взять оттуда скрипт, поправьте ссылку или перезалейте.

Добавить комментарий

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