Kopie zapasowe (backupy) systemu eDokumenty w Windows

Konfiguracja backupów

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.

Opis konfiguracji

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)

Odtworzenie systemu eDokumenty

Odtwarzanie plików eDokumenty

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

Odtwarzanie bazy danych

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

Dokumenty

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

Usuwanie kopi bazy danych

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"

Załączniki