= 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. [wiki:DeployerGuide 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 - /C "cmd /c del @path" }}}