Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
архив [2019/11/07 15:17] timofeev [Восстановление базы из архива] |
архив [2023/01/08 13:24] (текущий) timofeev |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Архивирование базы данных "Водяного" ====== | ====== Архивирование базы данных "Водяного" ====== | ||
Существует несколько способов создать копию базы:\\ | Существует несколько способов создать копию базы:\\ | ||
- | 1) скопировать файл базы, путь к которому указан при запуске программы (в нижней строке окна выбора базы данных ). Перед копированием следует закрыть программу и остановить службу сервера Firebird (при копировании и параллельно с работой, целостность копии не может гарантироваться, сделанную копию следует проверить на исправность, прежде чем предпринимать дальнейшие действия).\\ | + | 1) скопировать файл базы, путь к которому указан при запуске программы (в нижней строке окна выбора базы данных ). Перед копированием желательно закрыть программу и остановить службу сервера Firebird (при копировании параллельно с работой, теоретически целостность копии может быть нарушена, копию следует проверить на исправность, прежде чем предпринимать дальнейшие действия).\\ |
+ | Примечание. Файл с расширением fdb - это полные данные базы, включая лицензию. Ни в каких иных файлах данные не хранятся. Удалив или перезаписав этот файл, вы теряете все данные без возможности восстановления!\\ | ||
2) создать архивный файл формата fbk непосредственно из программы (запущенной на основной машине, где хранится база данных), выбрав сервис - создать архив. Важное примечание: архив создается утилитой gbak в отдельном процессе, поэтому копировать его сразу после получения сообщения об архивировании нельзя, подождите несколько минут до копирования или отправки полученного файла.\\ | 2) создать архивный файл формата fbk непосредственно из программы (запущенной на основной машине, где хранится база данных), выбрав сервис - создать архив. Важное примечание: архив создается утилитой gbak в отдельном процессе, поэтому копировать его сразу после получения сообщения об архивировании нельзя, подождите несколько минут до копирования или отправки полученного файла.\\ | ||
3) непосредственно утилитой gbak из командной строки, выполнив команды примерно следующего содержания (пути к базе надо менять по аналогии с п.1) :\\ | 3) непосредственно утилитой gbak из командной строки, выполнив команды примерно следующего содержания (пути к базе надо менять по аналогии с п.1) :\\ | ||
- | ''cd c:\Program Files\Firebird\Firebird\bin | + | <code> |
- | gbak -b "C:\Program Files\ctex\voda\base\voda1.fdb" "c:\Program Files\ctex\voda\arhiv\vod.fbk" -user SYSDBA -pass masterkey\\ | + | cd c:\Program Files\Firebird\Firebird_2_5\bin |
- | '' | + | gbak -b "C:\Program Files\ctex\voda\base\voda1.fdb" "c:\arhiv\vod.fbk" -user SYSDBA -pass masterkey |
+ | </code> | ||
====== Настройка автоматического архивирования ====== | ====== Настройка автоматического архивирования ====== | ||
Архивирование базы выполняется с помощью утилиты gbak, входящей в состав Firebird.\\ | Архивирование базы выполняется с помощью утилиты gbak, входящей в состав Firebird.\\ | ||
Чтобы оно делалось автоматически, следует:\\ | Чтобы оно делалось автоматически, следует:\\ | ||
1) создать bat-файл примерно следующего содержания:\\ | 1) создать bat-файл примерно следующего содержания:\\ | ||
- | ''set CURDATE=%DATE%\\ | + | <code> |
- | set CURTIME=%TIME%\\ | + | set CURDATE=%DATE% |
- | set Y=%CURDATE:~6,4%\\ | + | set CURTIME=%TIME% |
- | set M=%CURDATE:~3,2%\\ | + | set Y=%CURDATE:~6,4% |
- | set D=%CURDATE:~0,2%\\ | + | set M=%CURDATE:~3,2% |
- | set H=%CURTIME:~0,2%\\ | + | set D=%CURDATE:~0,2% |
- | set MIN=%CURTIME:~3,2%\\ | + | set H=%CURTIME:~0,2% |
- | set S=%CURTIME:~6,2%\\ | + | set MIN=%CURTIME:~3,2% |
- | path "c:\Program Files\Firebird\Firebird\bin"\\ | + | set S=%CURTIME:~6,2% |
- | gbak -b "C:\Program Files\ctex\voda\base\voda1.fdb" "c:\Program Files\ctex\voda\arhiv\vod.fbk" -user SYSDBA -pass masterkey\\ | + | path "c:\Program Files\Firebird\Firebird_2_5\bin" |
- | copy "c:\Program Files\ctex\voda\arhiv\vod.fbk" "c:\Program Files\ctex\voda\arhiv\%Y%%M%%D%_%H%%MIN%%S%vod.fbk" '' | + | gbak -b "C:\Program Files\ctex\voda\base\voda1.fdb" "c:\arhiv\vod.fbk" -user SYSDBA -pass masterkey |
+ | copy "c:\arhiv\vod.fbk" "c:\arhiv\%Y%%M%%D%_%H%%MIN%%S%vod.fbk" | ||
+ | </code> | ||
[[http://vodasoft.ru/vod_arch.bat|Скачать bat-файл]] для создания архива\\ | [[http://vodasoft.ru/vod_arch.bat|Скачать bat-файл]] для создания архива\\ | ||
+ | |||
В приведенном примере может потребоваться изменить:\\ | В приведенном примере может потребоваться изменить:\\ | ||
"C:\Program Files\ctex\voda\base\voda1.fdb" – путь базы данных, которую архивируем (этот путь написан в нижней строке окна запуска программы при выборе требуемой базы).\\ | "C:\Program Files\ctex\voda\base\voda1.fdb" – путь базы данных, которую архивируем (этот путь написан в нижней строке окна запуска программы при выборе требуемой базы).\\ | ||
- | "c:\Program Files\ctex\voda\arhiv" - путь к каталогу архива по умолчанию, если хочется архивировать данные на другом ПК или в иной папке, измените этот путь на свой. Папка должна быть доступна для записи.\\ | + | "c:\arhiv" - путь к каталогу архива по умолчанию, если хочется архивировать данные на другом ПК или в иной папке, измените этот путь на свой. Папка должна существовать и быть доступна для записи.\\ |
SYSDBA и masterkey - имя и пароль пользователя СУБД по умолчанию, если вы их изменили, замените и в bat-файле.\\ | SYSDBA и masterkey - имя и пароль пользователя СУБД по умолчанию, если вы их изменили, замените и в bat-файле.\\ | ||
2) Запланировать запуск файла в планировщике заданий Windows. Например, в Windows 7: Панель управления - Администрирование - Планировщик заданий. В планировщике выбрать "создать задачу", указать "выполнить с наивысшими правами, затем на закладке "триггеры" выбрать "создать" и указать желаемое расписание, например, ежедневно, в 23-00. После этого нажимаем "создать" на вкладке "Действия", выбираем "запуск программы", затем "Обзор" и выбираем файл из п.1. Последний шаг - нажимаем ОК для создания задачи.\\ | 2) Запланировать запуск файла в планировщике заданий Windows. Например, в Windows 7: Панель управления - Администрирование - Планировщик заданий. В планировщике выбрать "создать задачу", указать "выполнить с наивысшими правами, затем на закладке "триггеры" выбрать "создать" и указать желаемое расписание, например, ежедневно, в 23-00. После этого нажимаем "создать" на вкладке "Действия", выбираем "запуск программы", затем "Обзор" и выбираем файл из п.1. Последний шаг - нажимаем ОК для создания задачи.\\ | ||
- | Если всё сделано правильно, в папке c:\Program Files\ctex\voda\arhiv будут собираться файлы с именами вида 20120402_170426vod.fbk, где 20120402 обозначает 2 апреля 2012 года, а 170426 - время создания (17:04:26).\\ | + | Если всё сделано правильно, в папке c:\arhiv будут собираться файлы с именами вида 20120402_170426vod.fbk, где 20120402 обозначает 2 апреля 2012 года, а 170426 - время создания (17:04:26).\\ |
- | + | ||
- | ====== Отправка архива на электронную почту ====== | + | |
- | Довольно удобный вариант - отправлять полученный архив на некоторый (лучше специально созданный) почтовый ящик. Для автоматизации отправки можно применить утилиту blat, позволяющую отсылать файл по почте из командной строки.\\ | + | |
- | К вышеприведенному примеру добавьте следующую строку, заполнив в ней данные почтового ящика.\\ | + | |
- | + | ||
- | ''blat.exe -server smtp.yandex.ru -f ЭЛ.ПОЧТА -u ИМЯ ПОЛЬЗОВАТЕЛЯ ЭЛ.ПОЧТЫ -pw ПАРОЛЬ ЭЛ. ПОЧТЫ -to ЭЛ.ПОЧТА -subject arhiv%Y%%M%%D% -body "arhiv vodjanogo" -attach vod.fbk | + | |
- | '' | + | |
- | + | ||
- | Файлы blat.exe и blat.dll надо разместить рядом с bat-файлом для архивирования. | + | |
+ | ====== Отправка архива на Яндекс-диск ====== | ||
+ | С помощью широко известной утилиты curl можно созданный архив отправлять в облачное хранилище, позволяющее копировать HTTP-запросом, например, на яндекс-диск | ||
+ | папку curl надо внутри папки с bat-файлом для архивирования.\\ | ||
+ | К приведенному выше файлу следует добавить строки: | ||
+ | <code> | ||
+ | cd curl\bin | ||
+ | curl -T "c:\arhiv\vod.fbk" https://webdav.yandex.ru/vod.fbk --user имя:пароль | ||
+ | </code> | ||
+ | подставив свои имя и пароль. | ||
===== Восстановление базы из архива ===== | ===== Восстановление базы из архива ===== | ||
Для восстановления из архива создайте файл vosst.bat, в котором должны быть 2 следующие строки:\\ | Для восстановления из архива создайте файл vosst.bat, в котором должны быть 2 следующие строки:\\ | ||
- | ''path "C:\Program Files\FireBird\FireBird_2_5\bin\"\\ | + | <code> |
- | gbak -c %1 vosst.fdb -user SYSDBA -pass masterkey -p 8192\\ | + | path "C:\Program Files\FireBird\FireBird_2_5\bin\" |
- | '' | + | gbak -c %1 vosst.fdb -user SYSDBA -pass masterkey -p 16384 |
+ | </code> | ||
Примечание: путь, имя пользователя и пароль могут отличаться при индивидуальной настройке, но подходят для большинства установок.\\ | Примечание: путь, имя пользователя и пароль могут отличаться при индивидуальной настройке, но подходят для большинства установок.\\ | ||
После этого можно будет восстановить архив, выполнив команду vosst имя_архива.fbk, где имя_архива.fbk - тот архив, который вы хотите развернуть. В результате в папке должен появиться файл vosst.fdb, который можно переименовать и добавить в список баз программы.\\ | После этого можно будет восстановить архив, выполнив команду vosst имя_архива.fbk, где имя_архива.fbk - тот архив, который вы хотите развернуть. В результате в папке должен появиться файл vosst.fdb, который можно переименовать и добавить в список баз программы.\\ | ||
Строка 57: | Строка 63: | ||
Архивирование желательно проводить, сохраняя копию на другой компьютер или внешний носитель - в случае физического повреждения, кражи или изъятия сервера вы не потеряете доступа к ним.\\ | Архивирование желательно проводить, сохраняя копию на другой компьютер или внешний носитель - в случае физического повреждения, кражи или изъятия сервера вы не потеряете доступа к ним.\\ | ||
+ | |||
+ | ==== Архивирование/восстановление с помощью IBExpert ==== | ||
+ | Для разовой ручной операции (а также для любых запросов к базе, мониторинга и проч.) можно воспользоваться замечательной программой [[http://www.ibexpert.com/rus/ibe_sfx.exe|IBExpert]]. | ||
+ | |||
+ | Соответствующие функции (backup и restore) находятся в меню "службы". | ||
+ | |||
+ | [[адм_фб|вопросы администрирования баз]] | ||