|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
udr-процедура: бэкап базы + рестор + упаковка 7z. Пока только под windows: для 32-разрядного firebird, для 64-разрядного . В embedded тоже работает. Нужно положить dll в папку \pluguns\udr\ сервера (если папки udr нет, то создать её (помня про UAC)). Код: sql 1. 2. 3. 4. 5. 6. 7.
Возврат результата в блобе (одной записью или несколькими по ABlockSize байт). Вызывается так: Код: sql 1. 2.
Иcпользование из IBExpert: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Выкладываю бинарники с ограничением на 10 успешных запусков процедуры. Счётчик запусков сбрасывается при перезапуске сервера. Если кому-нибудь нужно без ограничений, или с исходниками, или переделать под ваши нужды, то это можно обсудить (nick@fastbase.net) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 11:53 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
17.04.2018 11:53, Hommer пишет: > udr-процедура: бэкап базы + рестор + упаковка 7z. - а почему утка крякает? - а патаму што может! (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 12:30 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Hommer, 1. как по мне пихать содержимое бекапа в BLOB не очень умно, да и не понятно зачем это надо. 2. если ты уж засовываешь бекап в блоб, то почему бы не сделать парную процедуру для восстановления из этого блоба, а не пихать всё в одну процедуру ИХМО труд бесполезный, но если ты считаешь что это надо тебе (ну и мало ли кому), то сделай набор процедур для задач копирования и восстановления и помести их в один пакет. HommerВыкладываю бинарники с ограничением на 10 успешных запусков процедуры. Счётчик запусков сбрасывается при перезапуске сервера. это ещё зачем, ты продавать свою udr собрался? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 12:33 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Симонов Денискак по мне пихать содержимое бекапа в BLOB не очень умно, да и не понятно зачем это надо. Видимо, чтобы потом вытянуть его на клиент. Хотя почему не External Table в самом деле.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 12:34 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Arioch, ну вот только ты не говори глупостей. Внимательно читаем какие типы поддерживаются External Table ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 12:37 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
17.04.2018 12:33, Симонов Денис пишет: > как по мне пихать содержимое бекапа в BLOB не очень умно pkunzip.zip Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:00 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Симонов Денис1. как по мне пихать содержимое бекапа в BLOB не очень умно, да и не понятно зачем это надо. 2. если ты уж засовываешь бекап в блоб, то почему бы не сделать парную процедуру для восстановления из этого блоба, а не пихать всё в одну процедуру Есть база 1-10-100GB на сервере в интернете. У вас есть IP-адрес сервера FB, админские логин и пароль для FB. Бэкапы хочется забирать быстро и удобно. Как будете решать? :) 7-zip одну мою базу ужимает в 6 раз, а другую в 50. Через интернет передаётся уже ужатое. Быстро забирается, удобно хранится, и уже отресторенное если нужно. Сейчас нет возможности задавать пароль для архива, но нужно сделать конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:16 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
HommerКак будете решать? :) Код: sql 1. 2. 3.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:23 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
AriochСимонов Денискак по мне пихать содержимое бекапа в BLOB не очень умно, да и не понятно зачем это надо. Видимо, чтобы потом вытянуть его на клиент. Хотя почему не External Table в самом деле.... Зачем External Table? Многие знают что есть проблема с обычными блобами, что от них пухнет база. Но если использовать isc_bpb_storage_temp, то база уже не пухнет: Код: pascal 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:25 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
17.04.2018 13:16, Hommer пишет: > Бэкапы хочется забирать быстро и удобно. > Как будете решать? :) gbak изначально умеет складывать бэкап на машину клиента. без анальных практик. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:25 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Hommer, у меня есть большие сомнения что BLOB в 100G можно вообще прокачать. Ты реально это пробовал? Ну и мегабольшие бекапы обычно запускают в фоне, а потом берут готовый файл. Никто ждать 100500 минут пока сделается бекап не будет. Как себя поведёт эта UDR если связь по интернету прервётся? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:28 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovHommerКак будете решать? :) Код: sql 1. 2. 3.
А с сервера себе забирать через ssh или ftp? :) Можно и так, если есть доступ к серверу. А если у сервера есть админ, то не факт что он даст вам запускать там что-то :) Вот dll-ку в папочку Firebird положить - это ну максимум на что он готов пойти :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:33 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Симонов ДенисHommer, у меня есть большие сомнения что BLOB в 100G можно вообще прокачать. Ты реально это пробовал? Вообще-то 100G пожатые 7-zip могут стать 15-ю или 10-ю, или парой гигов. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Закачивает блобами по 1000000 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:38 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Мимопроходящий17.04.2018 13:16, Hommer пишет: > Бэкапы хочется забирать быстро и удобно. > Как будете решать? :) gbak изначально умеет складывать бэкап на машину клиента. без анальных практик. Осталось понять есть ли плюсы от экономии времени, трафика и размера файла на диске. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:48 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Мимопроходящий> Бэкапы хочется забирать быстро и удобно. > Как будете решать? :) gbak изначально умеет складывать бэкап на машину клиента. без анальных практик. Умеет. Но скорость падает в разы ввиду roundtrips на каждый sql-запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:51 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
HommerА если у сервера есть админ, то не факт что он даст вам запускать там что-то :) Вот dll-ку в папочку Firebird положить - это ну максимум на что он готов пойти :) ...ээээ... т.е. положить на сервер скрипт, который он может прочитать и проверить, он не захочет а выложить на сервер shell exploit с непонятными внутренностями - запросто? это какой-то очень админский админ, чеc-слово ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:53 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
17.04.2018 13:51, Arioch пишет: > > Умеет. Но скорость падает в разы ввиду roundtrips на каждый sql-запрос шо ты мелешь... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:56 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
17.04.2018 13:48, Hommer пишет: > Осталось понять короче говоря - ты этого не знал... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:57 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
AriochУмеет. Но скорость падает в разы ввиду roundtrips на каждый sql-запросЕщё он умеет (не изначально) передавать файл (стрим) бекапа ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:57 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
HommerЗачем External Table? Многие знают что есть проблема с обычными блобами, что от них пухнет база. Но если использовать isc_bpb_storage_temp ....то мы начинаем пложить временные файлы со случайными названиями, которые нрапример в случае краха UDR-сервера останутся лежать на диске, скорее всего. Хотя не знаю, м.б. firebird/Win ставит этим файлам опцию авто-удаления, но тогда их 7-zip не враз откроет.... у ET же имя известное, фиксированное, и даже если мусор остался - его вполне можно почистить после перезапуска сервера. Да он и сам почистится, при следующшем запуске бакапа. Симонов ДенисВнимательно читаем какие типы поддерживаются External Table Ну и? в качестве двоичного буфера, array of int32, ET не так, чтобы сильно хуже. но за счёт своей добовости - предсказуемее. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:57 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Ariochт.е. положить на сервер скрипт, который он может прочитать и проверить, он не захочет Когда придёте положить второй-десятый раз, возможно будете чувствовать себя неловко :) Ariochа выложить на сервер shell exploit с непонятными внутренностями - запросто? Он вообще может вам доверять, но не быть готовым подрываться на каждую смену скрипта :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 14:03 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
hvladумеет (не изначально) ???? Умеет, но не изначально - это по типа "допиши себе свой firebird?" Локально запущенный gbak может сливать данные в stdout. Или в локальный файл. Но скорость его взаимодействия с сервером сравнительно небольшая. А "gbak" запущенный в сервере через Services API как правило заметно быстрее, но наружу кажется поток выдавать не умеет, SPB позволяет только в файл на сервере результат сложить, а потом "как хочешь так и читай". https://stackoverflow.com/questions/49476950 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 14:07 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
HommerAriochт.е. положить на сервер скрипт, который он может прочитать и проверить, он не захочет Когда придёте положить второй-десятый раз, возможно будете чувствовать себя неловко :) Ariochа выложить на сервер shell exploit с непонятными внутренностями - запросто? Он вообще может вам доверять, но не быть готовым подрываться на каждую смену скрипта :) и в чем разница - выложить 2-й/10-й раз скрипт или выложить 2-й/10-й раз новую сборку DLL ? ну тогда он просто делает вам возможность в специальную папку с ограниченными правами сливать скрипты или DLL без его личного участия ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 14:09 |
|
udr-процедура: бэкап базы + рестор + упаковка 7z
|
|||
---|---|---|---|
#18+
Мимопроходящий17.04.2018 13:51, Arioch пишет: > > Умеет. Но скорость падает в разы ввиду roundtrips на каждый sql-запрос шо ты мелешь... "мопед не мой" (С) http://www.ibase.ru/gbak/#bsapi К слову, резервное копирование через Services API является самым быстрым, по сравнению с локальным протоколом или tcp ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 14:16 |
|
|
start [/forum/topic.php?fid=40&msg=39631608&tid=1561152]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 429ms |
0 / 0 |