Jednym z bardziej istotnych elementów wdrożenia jest właściwe skonfigurowanie i przekazanie procedury tworzenia kopii zapasowych systemu. Procedura musi być niezawodna. Dlatego zaleca się okresowe (raz na rok) jej sprawdzanie.
Konfiguracja jest prosta, wystarczy zmodyfikować odpowiednio skrypt backup_all.bat mieszczący się w katalogu C:\Program files\BetaSoft\eDokumenty\tools.
// %date% możemy usunąć - wówczas backup będzie nadpisywał starsze wersje @set backup_dir=C:\Program Files\BetaSoft\backup\%date% @set edok_dir=C:\Program Files\BetaSoft\eDokumenty @set edbname=edokumenty @set PGPASSWORD=aqq123 @set PGUSER=postgres // zrzut bazy danych pg_dump -p 5432 -c %edbname% -f "%backup_dir%\%edbname%.sql" //zrzut repozytorium svn svnadmin dump "%edok_dir%\repo" > "%backup_dir%\repo.dump" // zrzut całego systemu razem z katalogiem z plikami files gzip -c -r "%edok_dir%" > "%backup_dir%\system.gz"
Do regularnego wykonywania backupów można wykorzystać mechanizm systemu Windows - Harmonogram Zadań. W tym celu należy utworzyć zadanie, które wywoła wyżej wymieniony skrypt i dodać odpowiedni wyzwalacz. Należy pamiętać, aby zarówno zadanie, jak i wyzwalacz miały status włączony.
Backup samej bazy danych można również przeprowadzić poleceniem wpisanym do konsoli CommandPrompt.
W celu
pg_dump -U postgres -f edokumenty.sql edokumenty
Efektem jest plik w bieżącej lokalizacji (w której otwarła się konsola domyślnie: C:\Documents and Settings\Janek)
Odtwarzanie danych na systemie Windows polega na rozpakowaniu pliku system.gz w katalogu instalacyjnym systemu, tak by nadpisać katalog np. C:\Program Files\BetaSoft\eDokumenty
Odtworzenie bazy wymaga jej założenia przy użyciu graficznego narzędzia PgAdmin, albo założenia jej poleceniem wydanym w konsoli - najlepiej wejść poprzez Start > Programy > Postgresql > CommandPrompt
C:\Program Files\PostgreSQL\8.2\bin> createdb -E UTF8 edokumenty
Czasami jest koniecznym usunięcie istniejącej bazy i następnie utworzenie nowej bazy:
@echo Usuwanie bazy danych psql -U postgres -c "DROP DATABASE IF EXISTS edokumenty;" @echo Tworzenie bazy danych psql -U postgres -c "CREATE DATABASE edokumenty WITH OWNER = edokumenty ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'Polish, Poland' LC_CTYPE = 'Polish, Poland' CONNECTION LIMIT = -1;"
Następnie otwieramy konsolę CommandPrompt, przechodzimy do katalogu w którym mamy kopię - czyli plik sql (cd c:\nazwa katalogu). I wykonujemy polecenie
C:\Documents and Settings\jac>psql -U postgres -f edokumenty.sql edokumenty lub C:\Documents and Settings\jac> psql -U edokumenty -W -f [Napęd np. C]:\ścieżka\do\pliku\backupu edokumenty np. psql -U edokumenty -W -f D:\Bazy\edokumenty_bkp\edokumenty_bkp edokumenty
Dokumentem potwierdzającym przyjęcie procedury przez administratora systemu jest "Protokół przekazania polityki tworzenia kopii zapasowych". Odpowiedni dokument powinien zostać przekazany przez firmę wdrażającą oprogramowanie.
Wstecz - Przewodnik wdrożeniowca
W przypadku automatycznych kopii dla systemów Windows, kopia wykonywana jest codziennie a pliki z poprzednich dni nie są usuwane. Aby ograniczyć miejsce kopii na dysku lokalnym możemy utworzyć skrypt, który dodamy do harmonogramu zadań. Podczas uruchomienia usunięte zostaną pliki starsze.
forfiles -p "d:\backup_eDokumenty" -s -m *.* /D -<ilość_dni> /C "cmd /c del @path"