Firebird backup manager
Jak to mawiają – potrzeba matką wynalazku. Tak też stało się w tym przypadku. Wykonując w pracy swoje codzienne obowiązki, do których należy m.in czuwanie nad wykonywaniem się kopii zapasowych kluczowych systemów informatycznych klientów zauważyłem pewną lukę, jeżeli chodzi o oprogramowanie do wykonywania automatycznego backupu baz danych firebird. Sprawa dotyczy konkretnie baz danych oprogramowania Streamsoft PCBiznes, które to korzysta właśnie z silnika firebird’a. Automatyzacja wykonywania kopii baz danych tego oprogramowania wymaga od administratora utworzenia skryptu wykonującego taką kopię i wrzucenie go (w zależności od systemu) do zadań CRONa lub do Task Scheduler’a.
Postanowiłem te operację nieco usprawnić pomagając przy okazji osobą, które za bardzo nie radzą sobie z pisaniem własnych skryptów. Wynikiem tego postanowienia jest prosta aplikacja działająca pod systemem Windows spełniająca dwie główne funkcjonalności:
- Planowanie zadań backupu (codziennie o danej godzinie, ze wskazaniem czasu przechowywania backupu również w dniach)
- Wysyłanie powiadomień na wskazany email w przypadku niepowodzenia zadania
Konfiguracja zadania backupu
Poniżej przestawiam instrukcję konfiguracji aplikacji do działania, krok po kroku. W moim przypadku firebird działa pod kontrolą systemu Linux.
1. Pierwszym krokiem jest dodanie serwera do listy serwerów. W tym celu w aplikacji należy wybrać opcję „Settings” -> „Server manager”
W tym miejscu klikamy „Add server” i wpisujemy kolejno: Dowolną nazwę własną serwera, adres IP, port, użytkownika mającego uprawnienia do odczytu oraz hasło.
Jeżeli dane są poprawne i ustanowiono połączenie z serwerem, otrzymamy stosowny komunikat. W przypadku błędu również zostanie wyświetlona stosowna informacja.
W tym momencie serwer powinien być widoczny na liście serwerów:
2. Kolejnym krokiem jest zdefiniowane miejsca, w którym będą przechowywane backupy. W tym celu należy przejść do zakładki „Settings” -> „Storage settings” i w wyświetlonym oknie kliknąć przycisk „Add”.
W tym miejscu wskazujemy lokalizację, gdzie wykonywać mają się kopie. Obecnie możliwe jest wykonywanie kopii do zasobów lokalnych lub dysków podmontowanych po iSCSI.
3. Ostatnim krokiem jest zdefiniowane nowego zadania backupu. W tym celu w oknie głównym aplikacji należy kliknąć przycisk „Add”. W wyświetlonym oknie wpisujemy: nazwę zadania, wybieramy z listy wcześniej zdefiniowany serwer, podajemy ścieżkę do bazy firebird na serwerze, wpisujemy komentarz (opcjonalnie) oraz wybieramy miejsce przechowywania backupu.
Następnie można przejść do zakładki „Schedule”. Tam definiuje się czas wyzwalania zadania oraz czas przechowywania kopii. Obecnie zadania mogą wykonywać się tylko codziennie o zadanej godzinie.
Tutaj ważna informacja, aplikacja poprosi o dane logowania do konta systemu Windows, na którym aktualnie została uruchomiona. Konto musi mieć ustawione hasło logowania, w przeciwnym przypadku aplikacja nie będzie mogła zaplanować zadania.
Po wszystkim zadanie powinno być widoczne na liście zadań.
Jak widać, w moim przypadku zadanie wykonało się pomyślnie.
4. Krokiem opcjonalnym jest ustawienie mechanizmu powiadomień. Jest to opcja bardzo pomocna, ponieważ jeżeli coś pójdzie nie tak – aplikacja wyśle powiadomienie. W celu konfiguracji należy przejść do zakładki „Settings” -> „Notification settings”.
Jeżeli dane konfiguracyjne będą poprawne, to otrzymamy powiadomienie o wysłaniu testowego emaila na docelowy adres
Ważne informacje
- Aplikacja przechowuje na dzień dzisiejszy dane logowania do bazy danych oraz emaila w formie jawnego tekstu. Co za tym idzie, do serwera na którym pracuje aplikacja dostęp powinien mieć tylko administrator. Jeżeli będę miał nieco czasu, postaram się wdrożyć jakiś mechanizm zabezpieczający te dane. To samo tyczy się przechowywanych kopii bazy.
- Aplikacja była testowana tylko z firebidem w wersji 3.0.x pod Linuxem. W przypadku problemów na innych konfiguracjach proszę o informację – na pewno coś poradzimy. Obecnie PCBiznes korzysta z wersji 3.0.x, więc dla tego przypadku wszystko powinno działać.
- Aplikacja została napisana po godzinach przez osobę, która nie zajmuje się zawodowo programowaniem, więc siłą rzeczy może zawierać błędy 😉 Jeżeli ktoś jakieś znajdzie – proszę o informację.
Pobieranie
Instalator aplikacji można pobrać z tego linka. Kod źródłowy (wiem, że pewnie nie najbardziej czytelny 🙂 ) znajduje się na GitHubie.
EDIT: Link do aktualnej wersji instalatora będzie zawsze znajdować się w serwisie GitHub.
1 comment