Wykonywanie kopii zapasowych za pomocą gbak i nbackup
Poniżej podajemy przykładowe wywołania narzędzi gbak i nbackup, służących do tworzenia kopii zapasowych baz FirebirdSQL. Przykładowe skrypty mogą być uruchamiane ręcznie, lub automatycznie przez Harmonogram zadań (np. codziennie o północy).
Użytkownicy Windows mogą skorzystać z Harmonogramu zadań dostępnego w każdej dystrybucji Windows. Należy dodać nowe zadanie do Harmonogramu, ustawić częstość powtarzania zadania (np. codziennie, o 15.00), oraz wskazać plik bat, który będzie uruchamiany.
Narzędzie gbak udostępniane wraz ze wszystkimi dystrybucjami FirebirdSQL umożliwia tworzenie kopii zapasowych baz danych. Za pomocą GBAK nie należy tworzyć kopii zapasowych w czasie, gdy użytkownicy pracują na bazie danych. Dlatego plik bat najlepiej uruchamiać w nocy lub w czasie, gdy użytkownicy nie pracują. Przykładowy plik „archiwizacja.bat” może wyglądać tak:
lub tak:
Plik bat o takiej treści utworzy archiwum w podanej lokalizacji, w pliku zawierającym w nazwie datę wykonania archiwum. W tym przypadku może to być dysk mapowany lub zasób sieciowy. Podane powyżej ścieżki do katalogów należy oczywiście zastąpić poprawnymi! Hasło masterkey to hasło domyślne, które mogło zostać zmienione – w takim wypadku należy je oczywiście zastąpić aktualnym (zna je administrator)!
Inny prosty plik bat, który przeniesie całą zawartość utworzonych przez program archiwów do folderu na innym komputerze może wyglądać tak:
FirebirdSQL umożliwia tworzenie przyrostowych kopii zapasowych.
Tworzenie kopii przyrostowej polega na tym, że w kolejnych plikach archiwum zapisywane są tylko te rekordy, które zostały zmodyfikowane od momentu utworzenia ostatniej kopii zapasowej na określonym poziomie.
Planując tworzenie przyrostowych kopii zapasowych, określa się poziomy, na których będą tworzone kopie zapasowe. Kopie poziomu zerowego (najniższego) zawierają wszystkie rekordy w bazie danych. Kopie kolejnych poziomów (1, 2, …) zawierają tylko te rekordy, które zostały zmienione od momentu wykonania ostatniej kopii zapasowej na poziomie niższym. Na przykład archiwum poziomu 1 zawiera tylko rekordy, które zmieniły się od czasu wykonania ostatniego archiwum poziomu 0.
Kopie przyrostowe umożliwiają częstszą archiwizację danych przy mniejszym zużyciu zasobów komputera. Przykładowy plan tworzenia kopii przyrostowych może uwzględniać:
Wykonywanie kopii przyrostowych może odbywać się w czasie, gdy użytkownicy korzystają z bazy danych (w czasie pracy na bazie). Wykonywanie archiwum w czasie pracy nie zapewnia jednak 100% integralności danych w bazie. Prawdopodobieństwo utraty integralności danych jest bardzo niskie. Mimo to zalecane jest wykonywanie kopii w czasie, gdy aktywność użytkowników jest minimalna (np. o północy, w niedziele itd).
Do wykonywania przyrostowych kopii zapasowych służy program nbackup.exe, znajdujący się w folderze /bin firebirda. Kopie można wykonywać ręcznie z linii komend lub korzystając z programów typu harmonogram zadań. Przykładowe proste wywołanie nbackup:
Gdzie -B oznacza polecenie wykonania kopii zapasowej, 0 oznacza poziom, następnie podana jest lokalizacja bazy i lokalizacja archiwum.
Inne przykładowe wywołanie, wpisujące aktualną datę do nazwy pliku:
Przywracanie bazy z kopii odbywa się po podaniu parametru -R, następnie nazwy bazy danych oraz plików z archiwami na kolejnych poziomach. Liczba plików zawierających archiwa na kolejnych poziomach jest zależna od tego, ile poziomów archiwów było uwzględnione podczas wykonywania kopii zapasowych. Może to być tylko 1 plik poziomu 0, lub trzy pliki o poziomach 0, 1, 2. Przykładowe wywołanie:
Szczegółowe informacje dot. nbackup znajdują się na stronie:
http://www.firebirdsql.org/manual/nbackup.html