Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Дата последнего бэкапа / 19 сообщений из 19, страница 1 из 1
24.11.2014, 06:42
    #38814705
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Озадачился таким делом - указывать дату последнего бэкапа прямо в базе. По итогу, ничего не вышло. Но остался вопрос, который и задаю форумчанам - надо ли это вообще и есть ли в этом практический смысл с вашей точки зрения?
...
Рейтинг: 0 / 0
24.11.2014, 10:28
    #38814835
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMax,

а чем это лучше простого добавления даты-времени к имени файла ? тогда и в базу даже заглядывать не надо, всё "наверху".
...
Рейтинг: 0 / 0
24.11.2014, 10:33
    #38814841
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Таблоид,

К имени fbk-файла?
...
Рейтинг: 0 / 0
24.11.2014, 11:07
    #38814896
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMax,

Всегда бекап делаю как gbak -b mydb mybackup-`date +%Y%m%d-%H%M`.fbk и никаких неудобств не испытывал.
...
Рейтинг: 0 / 0
24.11.2014, 11:15
    #38814904
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMax,

я делал так на PowerShell

backup.ps1
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
###############################################################
#
# Скрипт создания и архивирования резервных копий базы данных
#
###############################################################

# Задаём алиас утилите создания резевной копии
Set-Alias -Name gbak -Value "C:\Program Files\Firebird\Firebird_2_5\bin\gbak.exe"
Set-Alias -Name zip7 -Value "c:\Program Files\7-Zip\7z.exe"

$ArchiveDir = "D:\FBDataArchives"  # Путь к папке с архивами
$FBPassword = "*****"            # Пароль пользователя SYSDBA 
$FBDataDir  = "D:\FBData"          # Путь к данным
$FBDumpDir  = "D:\FBDump"          # Путь к дампу
$ExpiredDayInterval = 30           # Время хранения архивов (в днях)

# Получаем текущую дату
$CurrentDate = Get-Date 
# Приводим её к формату год-месяц-день
$BackupDir = "{0:yyyy-MM-dd}" -f $CurrentDate
# Теперь получаем полный путь к папке текущего архива
$BackupDir = $ArchiveDir + '\' + $BackupDir
# Удаляем папку с данным именем, на случай если она случайно образовалась
if (Test-Path $BackupDir) {
    Remove-Item $BackupDir -Recurse
}
# Удаляем предыдущую копию
Remove-Item $FBDumpDir\*
# Создаём саму копию
gbak -b -g -V -user SYSDBA -pas $FBPassword -se localhost:service_mgr $FBDataDir\horses.fdb $FBDumpDir\horses.dmp -Y $FBDumpDir\dump.log
# Создаём папку для архивов
mkdir $BackupDir
# Архивируем наш дамп
zip7 a -tzip -pplay $BackupDir\dump.zip $FBDumpDir\*.*
# Теперь удаляем старые архивы
gci $ArchiveDir | ForEach {
    $dirdate = [datetime]$_.Name
	if ($dirdate -lt (Get-Date).AddDays(-$ExpiredDayInterval)) {
	   rd $_.FullName -Recurse
	}
}

...
Рейтинг: 0 / 0
24.11.2014, 11:18
    #38814909
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Я про другое. Чтобы можно было подключившись к базе, сразу увидеть, когда последний раз делался бэкап. И если более суток назад, сообщать непосредственно в приложении об этом. Потому как сейчас приходится лезть в папку с бэкапом и смотреть, когда он был сделан.
Еще для чего это может понадобиться. Например, просят у гражданина gstat -h. А там написано: Last backup: 13.14.2014 18:00:00. Сразу вопрос ему - а у вас вообще архивация БД делается?

Был на днях в одной дружеской организации, где используется firebird. И там у них несколько лет архивация делалась путем архивирования .fdb-файла наживую. То есть пока не сунешься, не поймешь, что там делается (окромя просмотра rar-файла). А так сразу знаешь, куда смотреть.
...
Рейтинг: 0 / 0
24.11.2014, 11:21
    #38814914
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMax,

для nbackup такая информация есть. А для gbak не знаю. Разве что после бекапа скрипт в isql скармливать который в лог табличку пишет.
...
Рейтинг: 0 / 0
24.11.2014, 11:27
    #38814924
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Симонов ДенисРазве что после бекапа скрипт в isql скармливать который в лог табличку пишет.
Во, это идея.

Но тут уже мысль по поводу стандартной поддержки этой даты в хедере базы созрела. Если разработчики не выскажутся резко против, занесу в трекер.
...
Рейтинг: 0 / 0
24.11.2014, 11:40
    #38814947
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
я не считаю это правильным.

во-первых, gbak это внешняя утилита, она писать в хидер ничего не может. А вносить в АПИ средство проставить дату последнего бекапа - как-то некузяво. Кроме того, бекап может оказаться битым или невосстановимым, и при этом пофиг что бекап был недавно - будет лишь ложное чувство спокойствия.

во-вторых, с nbackup это еще неоднозначнее. Он может делаться разными способами, например BEGIN BACKUP - COPY - END BACKUP. И движок понятия не имеет, был ли там COPY на самом деле или нет. Так что дата/время ни о чем не говорит на самом деле.
...
Рейтинг: 0 / 0
24.11.2014, 11:45
    #38814955
SergiyCher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMax,

Да было бы удобно не только дату, но дату+время и № номер какой-нибудь.
То же самое хотелось бы для ХП и других объектов.
...
Рейтинг: 0 / 0
24.11.2014, 11:58
    #38814978
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
SergiyCher,

в трёшке пишешь DDL триггер и регистрируешь дату создания объектов. С датой создания базы или бекапом так конечно не выйдет.
...
Рейтинг: 0 / 0
24.11.2014, 14:32
    #38815151
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMaxЯ про другое. Чтобы можно было подключившись к базе, сразу увидеть, когда последний раз делался бэкап. И если более суток назад, сообщать непосредственно в приложении об этом. Потому как сейчас приходится лезть в папку с бэкапом и смотреть, когда он был сделан.
А что мешает приложению самому лезть туда, где лежат бекапы, и смотреть дату создания последнего файла? При чем, если бекап делать правильно - в смысле сразу делать рестор и хранить уже отресторенную базу - тогда можно быть уверенным, что в процессе бекапа сбоев не было.
...
Рейтинг: 0 / 0
24.11.2014, 14:36
    #38815157
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
miwaonlineCyberMaxЯ про другое. Чтобы можно было подключившись к базе, сразу увидеть, когда последний раз делался бэкап. И если более суток назад, сообщать непосредственно в приложении об этом. Потому как сейчас приходится лезть в папку с бэкапом и смотреть, когда он был сделан.
А что мешает приложению самому лезть туда, где лежат бекапы, и смотреть дату создания последнего файла? При чем, если бекап делать правильно - в смысле сразу делать рестор и хранить уже отресторенную базу - тогда можно быть уверенным, что в процессе бекапа сбоев не было.

Делается на раз батником. Не говоря уже о сколько-нибудь серьезных поделках.
...
Рейтинг: 0 / 0
24.11.2014, 14:43
    #38815167
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
В скрипт, который делает бэкап, дописать запуск isql, который по -i выполняет скрипт, который записывает в нужную таблицу текущую дату. И что там могло не получиться?..
...
Рейтинг: 0 / 0
24.11.2014, 16:34
    #38815338
oleg_m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
CyberMaxА там написано: Last backup: 13.14.2014 18:00:00.
эка... 13е число 14го месяца, или 14е - 13го?
...
Рейтинг: 0 / 0
24.11.2014, 16:54
    #38815366
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Для поля date строковое представление определяется настройками клиента.
...
Рейтинг: 0 / 0
24.11.2014, 17:10
    #38815389
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Basil A. SidorovДля поля date строковое представление определяется настройками клиента.для бэкапов нет ничего лучше yyyy-mm-dd c забитем болта на какие-то там настройки.
...
Рейтинг: 0 / 0
24.11.2014, 17:12
    #38815390
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Ivan_Pisarevskyдля бэкапов нет ничего лучше yyyy-mm-dd c забитем болта на какие-то там настройки.И не только для бэкапов - это лучший выбор для любого "организатора файлов на коленке"
...
Рейтинг: 0 / 0
24.11.2014, 21:34
    #38815593
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата последнего бэкапа
Ivan_Pisarevsky> для бэкапов нет ничего лучше yyyy-mm-dd

Можно даже без дефисов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Дата последнего бэкапа / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]