Последняя версия DataExpress 22.3.12

Изображение Скачать | Изображение Что нового?

Резервное копирование базы


Модератор: Разработчики расширений

Аватара пользователя
admin
Разработчик
Сообщения: 6148
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 88 раз
Поблагодарили: 692 раза

Резервное копирование базы

Сообщение admin » 06 фев 2019, 21:08

Расширение добавляет кнопку резервного копирования базы на панель инструментов. База архивируется при помощи утилиты 7zip, которая автоматически скачивается с сайта http://mydataexpress.ru. Базы архивируются в определенную папку. Имена архивов имеют вид: дата_время_база.7z. Тип действия: действие при запуске.

2.1 (актуальная)
1. Исправлена ошибка копирования шаблонов, если в пути есть символы кириллицы.

2.0
1. Резервное копирование , восстановление и сжатие сетевой базы данных утилитой gbak.
2. Резервное копирование при закрытии базы.
3. Добавление задачи в планировщик заданий.
Backups.7z
(7.54 КБ) 289 скачиваний

1.0
Backups 1.0.zip
(4.11 КБ) 363 скачивания
Вложения
Backups 2.1.7z
Актуальная версия расширения
(7.54 КБ) 525 скачиваний
BACKUP_DEMO.7z
Демонстрационная база
(41.15 КБ) 314 скачиваний

Теги:

akela76
Новичок
Сообщения: 13
Зарегистрирован: 25 сен 2021, 17:35
Благодарил (а): 1 раз

Резервное копирование базы

Сообщение akela76 » 27 дек 2021, 11:44

Извиняюсь, что не в тему, я вопрос бэкапа БД решаю при помощи запуска батника в Планировщике.
Для корректной работы скрипта в системе должен быть установлен архиватор 7zip.
Пути в скрипте указаны для примера, желающим использовать его нужно поменять их на свои.

Код: Выделить всё

:: Останавливаем Firebird
net stop FirebirdServerDefaultInstance

:: Делаем резервную копию БД
xcopy  D:\DB\123.fdb D:\Backup /Y


:: Архивируем копию БД
"C:\Program Files\7-zip\7z.exe" a -tzip -mx5 -sdel D:\Backup\123.zip D:\Backup\123.fdb

:: Добавляем текущую дату к имени архива БД
set CURDATE=%date%
ren D:\Backup\123.zip 123_%CURDATE:~0,2%_%CURDATE:~3,2%_%CURDATE:~6,4%.zip

:: Копируем архив в дублирующий каталог
xcopy  D:\Backup\123_%CURDATE:~0,2%_%CURDATE:~3,2%_%CURDATE:~6,4%.zip \\192.168.1.254\DB_Backup /I /Y

:: Удаляем старые резервные копии БД
forfiles /p D:\Backup /D -7 /c "cmd /c del @path /q"

:: Удаляем старые резервные копии БД из дублирующего каталога
pushd "\\192.168.1.254\DB_Backup" && (forfiles /D -7 /c "cmd /c del @path /q")
popd

:: Запускаем Firebird
net start FirebirdServerDefaultInstance

Аватара пользователя
rausNT
Специалист
Сообщения: 983
Зарегистрирован: 24 авг 2017, 09:23
Благодарил (а): 286 раз
Поблагодарили: 37 раз

Резервное копирование базы

Сообщение rausNT » 27 дек 2021, 11:58

akela76 писал(а):xcopy
не совсем правильное решение для FB. можете получить вообще нечитаемый бинарный файл.
We are uncovering better ways of developing
software by doing it and helping others do it.

akela76
Новичок
Сообщения: 13
Зарегистрирован: 25 сен 2021, 17:35
Благодарил (а): 1 раз

Резервное копирование базы

Сообщение akela76 » 27 дек 2021, 12:00

rausNT писал(а):
akela76 писал(а):xcopy
не совсем правильное решение для FB. можете получить вообще нечитаемый бинарный файл.


А можно подробнее?
Я Firebird останавливаю перед копированием, Guardian не использую, копирование проводится ночью, когда подключения к БД точно нет.
Что не так?

Аватара пользователя
rausNT
Специалист
Сообщения: 983
Зарегистрирован: 24 авг 2017, 09:23
Благодарил (а): 286 раз
Поблагодарили: 37 раз

Резервное копирование базы

Сообщение rausNT » 27 дек 2021, 12:08

akela76 писал(а):Что не так?


да в теории то все так, но на практике каждый раз нужно проверять бэкап/рестор. И только при успешном ресторе можно говорить об успешной операции бэкапа. Чтобы не было мучительно больно в будущем. Это уже наверное кровью сисадминов FB написано.
We are uncovering better ways of developing
software by doing it and helping others do it.

Аватара пользователя
rausNT
Специалист
Сообщения: 983
Зарегистрирован: 24 авг 2017, 09:23
Благодарил (а): 286 раз
Поблагодарили: 37 раз

Резервное копирование базы

Сообщение rausNT » 27 дек 2021, 12:29

Код: Выделить всё

:: Удаляем старые резервные копии БД


и все же лучше сохранять бэкапы с револьверной заменой резервных копий.
We are uncovering better ways of developing
software by doing it and helping others do it.

memo
Интересующийся
Сообщения: 133
Зарегистрирован: 08 окт 2019, 22:54
Благодарил (а): 47 раз
Поблагодарили: 14 раз

Резервное копирование базы

Сообщение memo » 27 дек 2021, 13:26

работаю в другой программе тоже на fb 2,5 разработчик дает такую инструкцию для авто сохранения бекапа, не знаю вроде работает нормально.
Снимок экрана 2021-12-27 132339.jpeg
Снимок экрана 2021-12-27 132339.jpeg (239.51 КБ) 608 просмотров

akela76
Новичок
Сообщения: 13
Зарегистрирован: 25 сен 2021, 17:35
Благодарил (а): 1 раз

Резервное копирование базы

Сообщение akela76 » 27 дек 2021, 13:51

rausNT писал(а):и все же лучше сохранять бэкапы с револьверной заменой резервных копий.


У меня глубина бэкапа установлена в 7 дней. Файлы до семи дней от сегодняшней даты хранятся, старше 7 дней - удаляются.

Я правильно Вас понял?

Аватара пользователя
rausNT
Специалист
Сообщения: 983
Зарегистрирован: 24 авг 2017, 09:23
Благодарил (а): 286 раз
Поблагодарили: 37 раз

Резервное копирование базы

Сообщение rausNT » 27 дек 2021, 13:56

akela76 писал(а):Я правильно Вас понял?


да, все тогда правильно.
We are uncovering better ways of developing
software by doing it and helping others do it.

Morozbl4
Знаток
Сообщения: 623
Зарегистрирован: 04 дек 2019, 11:04
Благодарил (а): 213 раз
Поблагодарили: 56 раз

Резервное копирование базы

Сообщение Morozbl4 » 11 май 2022, 11:22

Как кнопку спрятать от всех кроме разработчика?

Megabyte
Интересующийся
Сообщения: 77
Зарегистрирован: 19 сен 2020, 15:12
Благодарил (а): 61 раз
Поблагодарили: 22 раза

Резервное копирование базы

Сообщение Megabyte » 11 май 2022, 12:34

Как кнопку спрятать от всех кроме разработчика?

создать условие:
если ROLE = '', то выполнить действие
upd. Но копирование будет происходить только у администратора


Вернуться в «Расширения и плагины (разработка и обсуждение)»