| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| архив [2019/12/09 10:36] – timofeev | архив [2024/10/16 13:24] (текущий) – timofeev |
|---|
| ====== Архивирование базы данных "Водяного" ====== | ====== Архивирование базы данных "Водяного" ====== |
| Существует несколько способов создать копию базы:\\ | Существует несколько способов создать копию базы:\\ |
| 1) скопировать файл базы, путь к которому указан при запуске программы (в нижней строке окна выбора базы данных ). Перед копированием следует закрыть программу и остановить службу сервера Firebird (при копировании и параллельно с работой, целостность копии не может гарантироваться, сделанную копию следует проверить на исправность, прежде чем предпринимать дальнейшие действия).\\ | 1) скопировать файл базы, путь к которому указан при запуске программы (в нижней строке окна выбора базы данных ). Перед копированием желательно закрыть программу и остановить службу сервера Firebird (при копировании параллельно с работой, теоретически целостность копии может быть нарушена, копию следует проверить на исправность, прежде чем предпринимать дальнейшие действия).\\ |
| | Примечание. Файл с расширением fdb - это полные данные базы, включая лицензию. Ни в каких иных файлах данные не хранятся. Удалив или перезаписав этот файл, вы теряете все данные без возможности восстановления!\\ |
| 2) создать архивный файл формата fbk непосредственно из программы (запущенной на основной машине, где хранится база данных), выбрав сервис - создать архив. Важное примечание: архив создается утилитой gbak в отдельном процессе, поэтому копировать его сразу после получения сообщения об архивировании нельзя, подождите несколько минут до копирования или отправки полученного файла.\\ | 2) создать архивный файл формата fbk непосредственно из программы (запущенной на основной машине, где хранится база данных), выбрав сервис - создать архив. Важное примечание: архив создается утилитой gbak в отдельном процессе, поэтому копировать его сразу после получения сообщения об архивировании нельзя, подождите несколько минут до копирования или отправки полученного файла.\\ |
| 3) непосредственно утилитой gbak из командной строки, выполнив команды примерно следующего содержания (пути к базе надо менять по аналогии с п.1) :\\ | 3) непосредственно утилитой gbak из командной строки, выполнив команды примерно следующего содержания (пути к базе надо менять по аналогии с п.1) :\\ |
| ''cd c:\Program Files\Firebird\Firebird_2_5\bin \\ | <code> |
| | 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\\ | 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_2_5\bin"\\ | set S=%CURTIME:~6,2% |
| gbak -b "C:\Program Files\ctex\voda\base\voda1.fdb" "c:\arhiv\vod.fbk" -user SYSDBA -pass masterkey\\ | path "c:\Program Files\Firebird\Firebird_2_5\bin" |
| copy "c:\arhiv\vod.fbk" "c:\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:\arhiv будут собираться файлы с именами вида 20120402_170426vod.fbk, где 20120402 обозначает 2 апреля 2012 года, а 170426 - время создания (17:04:26).\\ | Если всё сделано правильно, в папке c:\arhiv будут собираться файлы с именами вида 20120402_170426vod.fbk, где 20120402 обозначает 2 апреля 2012 года, а 170426 - время создания (17:04:26).\\ |
| |
| ====== Отправка архива на электронную почту ====== | ====== Отправка архива на Яндекс-диск ====== |
| Довольно удобный вариант - отправлять полученный архив на некоторый (лучше специально созданный) почтовый ящик. Для автоматизации отправки можно применить утилиту blat, позволяющую отсылать файл по почте из командной строки.\\ | С помощью широко известной утилиты curl можно созданный архив отправлять в облачное хранилище, позволяющее копировать HTTP-запросом, например, на яндекс-диск |
| К вышеприведенному примеру добавьте следующую строку, заполнив в ней данные почтового ящика.\\ | папку curl надо внутри папки с bat-файлом для архивирования.\\ |
| | К приведенному выше файлу следует добавить строки: |
| | <code> |
| | cd curl\bin |
| | curl -T "c:\arhiv\vod.fbk" https://webdav.yandex.ru/vod.fbk --user имя:пароль |
| | </code> |
| | подставив свои имя и пароль.\\ |
| | Примечание. На бесплатных тарифах скорость работы и доступный размер файлов может быть ограничен.\\ |
| | Можно использовать платные подписки, другие ресурсы, либо собственный ftp-сервер\\ |
| |
| ''blat.exe -server smtp.yandex.ru -f ЭЛ.ПОЧТА -u ИМЯ ПОЛЬЗОВАТЕЛЯ ЭЛ.ПОЧТЫ -pw ПАРОЛЬ ЭЛ. ПОЧТЫ -to ЭЛ.ПОЧТА -subject arhiv%Y%%M%%D% -body "arhiv vodjanogo" -attach vod.fbk | <code> |
| '' | path "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 |
| Файлы blat.exe и blat.dll надо разместить рядом с bat-файлом для архивирования. | c:\curl\bin\curl --upload-file c:\arhiv\vod.fbk ftp://vash.ftp:t111b@8.8.8.8:21 |
| | </code> |
| | Имена баз и пути к ним надо заменить на свои.\\ |
| | Вместо site.ru:t111b@8.8.8.8:21 указываются ваш адрес ftp-сервера и имя пользователя ftp.\\ |
| | Созданый bat-файл можно добавить в планировщик заданий и запускать по расписанию от имени пользователя СИСТЕМА.\\ |
| |
| |
| ===== Восстановление базы из архива ===== | ===== Восстановление базы из архива ===== |
| Для восстановления из архива создайте файл 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, который можно переименовать и добавить в список баз программы.\\ |
| |
| Соответствующие функции (backup и restore) находятся в меню "службы". | Соответствующие функции (backup и restore) находятся в меню "службы". |
| | |
| | [[адм_фб|вопросы администрирования баз]] |
| | |