Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
архив [2019/11/22 10:07] – 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\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, позволяющую отсылать файл по почте из командной строки.\\ | С помощью широко известной утилиты 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) находятся в меню "службы". |
| |
| [[адм_фб|вопросы администрирования баз]] |
| |