Automatyzacja tworzenia kopii zapasowych plików archiwum SOLIDWORKS PDM

Automatyzacja tworzenia kopii zapasowych plików archiwum SOLIDWORKS PDM

Podczas wdrożenia SOLIDWORKS PDM przygotowujemy dla Państwa optymalną konfigurację przechowalni zgodnie z wymogami przyjętymi podczas audytu wstępnego oraz ustaleń z przedstawicielami firmy.

Po jego zakończeniu informujemy Państwa również o konieczności zabezpieczenia konfiguracji i danych przechowalni plików przez dział IT.

W szczególności w przypadku dużych przechowalni, w których cała struktura firmy od działu sprzedaży po produkcję i logistykę opiera się na danych przechowywanych i zarządzanych przez SOLIDWORKS PDM nie można sobie pozwolić na ich utratę.

Podejście do tematu może być bardzo indywidualne ze względu na różną politykę stosowaną w firmach oraz ilość dostępnych metod zabezpieczenia serwerów przed awariami.

Jedną z podstawowych zasad bezpieczeństwa danych jest regularne wykonywanie backupów danych oraz przechowywanie ich POZA serwerem, na którym gromadzone są informacje, z których wykonujemy kopie. Oczywiście kopie baz danych, na których opiera się system SOLIDWORKS PDM mogą być wykonywane automatycznie przez usługę SQL Server Agent (w przypadku SOLIDWORKS PDM Professional), w niniejszym artykule postaram się przedstawić jak skonfigurować automatyczne kopiowanie plików serwera archiwum, kopii baz danych oraz kopii ustawień serwera archiwum do zewnętrznej lokalizacji.

1. Określanie lokalizacji plików wymagających przeniesienia.

Do poprawnego odtworzenia kopii naszej przechowalni w razie awarii będziemy potrzebować lokalizacji następujących składników:

  • Kopii baz danych przechowalni oraz bazy Conisio,
  • Kopii ustawień serwera archiwum.
  • Plików serwera archiwum,

Lokalizacja plików archiwum PDM

W celu odnalezienia ścieżki uruchamiamy z menu START Windows aplikację Konfiguracja serwera archiwizacji, w drzewie po lewej stronie rozwijamy pozycję Ten komputer oraz zaznaczamy lewym przyciskiem myszy folder Archiwa. Otrzymamy w ten sposób listę przechowalni, odszukujemy interesującą nas pozycję i klikając prawym przyciskiem myszy wybieramy Właściwości.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Wskazana powyżej lokalizacja jest miejscem przechowywania plików. Po otwarciu wskazanego katalogu powinniśmy widzieć 16 podfolderów w następującej postaci.

W tym konkretnym przypadku kopiowaniu będzie podlegać folder PDM-SE wraz z zawartością.

Pierwszą lokalizacją w tym przypadku jest: D:\PDMData\PDM-SE

Lokalizacja plików kopi baz danych

Kolejną lokalizacją do określenia jest miejsce przechowywania kopii baz danych serwera SQL. W celu sprawdzenia dokładnej lokalizacji, w której tworzone są kopie uruchamiamy program SQL Management Studio z menu START Windows.

Poświadczenia wymagane przez serwer są zawarte w raportach powdrożeniowych, które otrzymują Państwo od pracowników, którzy przeprowadzają u Państwa wdrożenie systemu PDM.

Po podłączeniu do wybranej instancji serwera SQL rozwijamy w drzewie folder Maintanance Plans i odszukujemy pozycję oznaczoną na zdjęciu poniżej numerem 1 – nazwy działań mogą się różnić w zależności od systemu nazewnictwa przyjętego przez zespół wdrażający. Klikamy na nazwę dwukrotnie lewym przyciskiem myszy.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

W polu oznaczonym numerem 2 klikamy prawym przyciskiem myszy i wybieramy pozycję Edit w otwartym oknie przechodzimy do zakładki Destination ( 3 ) gdzie w pozycji 4 powinniśmy widzieć dokładną lokalizację, w której tworzone są kopie zapasowe bazy danych ConisioMasterDb oraz bazy danych przechowalni.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Oba pliki powinny mieć rozszerzenie *.bak. Jeżeli plików jest więcej oznacza to, że kopie zapasowe zostały tak skonfigurowane aby określona ilość ostatnich wykonanych kopii była przechowywana we wskazanym folderze, w takim wypadku możemy posortować pliki po dacie modyfikacji lub jeżeli bazy danych nie mają potężnych rozmiarów możemy kopiować cały folder.

W tym przykładzie, drugą szukaną przez nas lokalizacją jest: D:\SQL backup

Lokalizacja kopi ustawień serwera archiwum

Ostatnią interesującą nas lokalizacją jest miejsce przechowywania ustawień serwera archiwum. Procedura tworzenia kopi ustawień serwera archiwum została opisana w punktach 1 -3, poniższego artykułu:

SOLIDWORKS PDM – kopia zapasowa archiwum

Znajduje się tam także instrukcja w jaki sposób określić listę lokalizacji plików serwera archiwum.

Pliki przechowujący ustawienia serwera archiwum ma rozszerzenie *.dat.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

W tym przypadku ustawienia serwera znajdują się w lokalizacji: C:\kopia ustawien serwera archiwum

2. Aplikacja MS Robocopy i jej konfiguracja.

Robocopy jest aplikacją firmy Microsoft, która wchodzi w skład pakietu Windows Resource Kit i nie jest dostępna od razu po instalacji systemu Windows. Możemy ją pobrać za darmo ze strony https://www.microsoft.com/en-us/download/details.aspx?id=17657.

Po instalacji możemy sprawdzić czy program prawidłowo się zainstalował uruchamiając wiersz poleceń z menu START Windows poleceniem CMD.

Obraz zawierający monitor, zrzut ekranu, tekst, siedzi Opis wygenerowany automatycznie

Po wpisaniu polecenia robocopy /? Powinniśmy otrzymać pomoc programu, jeżeli natomiast mamy informację, że nie można odnaleźć polecenia będzie to oznaczać, że nie będziemy w stanie skorzystać z wskazanej funkcji i musimy spróbować zainstalować ponownie program.

Wywołanie wskazanego polecenia pozwoli również sprawdzić parametry jakich szukamy do prawidłowego skopiowania plików we wskazanych przez nas lokalizacjach.

Podstawowa struktura polecenia jest opisana na samym początku.

Obraz zawierający butelka Opis wygenerowany automatycznie

Następnie mamy listę parametrów, zaznaczone zostały najbardziej interesujące nas pozycje.

Obraz zawierający tekst, siedzi, butelka Opis wygenerowany automatycznie

Pierwsza zaznaczona opcja musi zostać włączona w szczególności jeżeli w przechowalni nie ma jeszcze dużej ilości plików, pozwoli to na skopiowanie pustych jeszcze folderów archiwum.

Druga zaznaczona opcja wymusi skopiowanie plików wraz ze wszystkimi przypisanymi do nich dodatkowymi informacjami.

Sekcja Retry Options informuje nas, że domyślnie program będzie próbował powtórzyć ewentualne nieudane kopiowanie pliku milion razy, domyślna przerwa pomiędzy kolejnymi próbami to 30 sekund. Oczywiście możemy zmienić domyślne wartości.

Obraz zawierający czarny, wewnątrz Opis wygenerowany automatycznie

Sekcja Logging Options pozwala na dodanie pełnej lokalizacji dla pliku wyjściowego do loga aplikacji. Druga opcja pozwala na zapisanie loga generowanego w linii poleceń do pliku tekstowego z opcją dopisywania informacji do zawartości poprzedniego loga.

Obraz zawierający zrzut ekranu, tekst Opis wygenerowany automatycznie

Możemy przygotować pierwsze polecenie w celu weryfikacji poprawności składni i działania aplikacji.

Docelową lokalizacją, do której zostaną skopiowane pliki w tym przykładzie, będzie dysk sieciowy znajdujący się poza lokalizacją serwera PDM.

Pełna składnia polecenia to:

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Po wywołaniu polecenia czekamy na jego zakończenie, w podsumowaniu powinniśmy mieć informację podobną do poniższej.

Obraz zawierający tekst Opis wygenerowany automatycznie

Ważne żeby zweryfikować czy nie mamy żadnej pozycji w kolumnie Skipped lub FAILED.

Kiedy mamy już zweryfikowane działanie polecenia możemy przejść do konfiguracji jego automatycznego wywołania.

3. Tworzenie skryptu automatycznego wywołania z harmonogramu Windows.

Docelowo chcemy dodać zadanie wykonania kopiowania do harmonogramu Windows. W akcjach do wykonania możemy wywołać skrypt lub program więc utworzymy jeszcze plik *.bat, który będzie zawierał polecenia kopiowania wszystkich trzech lokalizacji.

Uruchamiamy notatnik i wpisujemy przetestowane polecenie.

Pliki wsadowe *.bat nie mają w składni języka prostego polecenia, które umożliwia opóźnienie na zakończenie poprzedniego działania: np. oczekiwanie na zakończenie kopiowania plików archiwum przed rozpoczęciem kopiowania zapasowych baz danych SOLIDWORKS PDM.

Możemy wstawić opóźnienie czasowe pomiędzy wywołaniem kolejnych poleceń natomiast nie jesteśmy w stanie określić dokładnie ile czasu będzie potrzebne na wykonanie kopii w szczególności ze względu na ciągle rosnący rozmiar przechowalni.

W poniższym przykładzie rozdzielimy kopiowanie baz danych i plików archiwum do osobnych plików bat i akcji w harmonogramie zadań po to, by między kolejnymi kopiami mieć potwierdzenia pozytywnego zakończenia pojedynczego działania.

Plik w notatniku zawierający polecenie kopiowania archiwum zapisujemy z rozszerzeniem *.bat do wybranej przez nas lokalizacji.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Składnie poleceń dla kolejnych plików bat to:

ROBOCOPY „D:\SQL backup” „\\SE-GD-AMILEWSKI\Kopia_zapasowa\SQL backup” * /E /COPYALL /FP

Oraz

ROBOCOPY „C:\kopia ustawien serwera archiwum” „\\SE-GD-AMILEWSKI\Kopia_zapasowa\kopia ustawień serwera archiwum” * /E /COPYALL /FP

Proszę zwrócić uwagę, że jeżeli ścieżki źródłowe lub docelowe zawierają spacje w nazwach folderów należy cały człon umieścić w cudzysłów. Ścieżki dostępu do dysków sieciowych nie mogą zawierać litery zmapowanego dysku.

Ostatecznie powinniśmy mieć trzy pliki bat odpowiadające poleceniom kopiowania trzech lokalizacji źródłowych jak przedstawiono poniżej.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

4. Dodawanie plików wsadowych do harmonogramu Windows.

W celu zaplanowania automatycznego kopiowania uruchamiamy menu START Windows, wpisujemy polecenie harmonogram zadań i otwieramy wskazaną aplikację.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Po uruchomieniu aplikacji z jej menu głównego wybieramy polecenie Akcja -> Utwórz zadanie.

W otwartym oknie na pierwszej zakładce Ogólne wpisujemy nazwę zadania, opis oraz wybieramy wywołanie zadania bez konieczności weryfikacji czy wskazany użytkownik Windows jest aktualnie zalogowany na serwerze. Jeżeli użytkownik wskazany do wykonania zadania nie posiada odpowiednich uprawnień można dodatkowo zaznaczyć opcję Uruchom z najwyższymi uprawnieniami.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Przechodzimy do kolejnej zakładki Wyzwalacze gdzie możemy określić w jakich przypadkach zadanie ma zostać wywołane. Klikamy przycisk Nowy… oraz konfigurujemy godzinę wywołania zadania.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Czas wywołania zadania w perspektywie każdej firmy jest indywidualny. Zazwyczaj podczas konfiguracji kopii zapasowych przechowalni planujemy ich wykonanie po godzinie 1.00 w nocy więc bezpiecznie w tym przypadku rozpocząć pierwsze kopiowanie na dysk sieciowy około godziny 3.00 jeżeli wcześniej sprawdziliśmy, że w moim przypadku od wywołania do ukończenia polecenia ROBOCOPY upłynęło 3 min 38 sek.

W tym samym czasie na serwerze SQL będzie wykonywane oczyszczanie i reorganizacja baz danych jednak nie ma to wpływu na pliki zapisane we wskazanych lokalizacjach.

Przechodzimy na zakładkę Akcje gdzie definiujemy efekt wywołania zadania, czyli w naszym przypadku uruchamiamy plik wsadowy. Wybieramy polecenie Nowa… i w sekcji Program/skrypt do wywołania podajemy ścieżkę do pierwszego pliku wsadowego.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Na zakładce Warunki możemy określić czy zadanie harmonogramu ma weryfikować połączenie do sieci, w której znajduje się nasz dysk sieciowy oraz czy zadanie ma zostać przerwane w przypadku przejścia serwera na zasilanie UPS.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Na ostatniej zakładce sprawdzamy czy maksymalny czas wykonywania zadania nie przekracza domyślnego czasu kopiowania plików archiwum w szczególności dla dużych przechowalni PDM.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Akceptujemy zadanie i w harmonogramie Windows, zaznaczamy w drzewie po lewej stronie pozycję Biblioteka Harmonogramu zadań, klikamy prawym przyciskiem myszy utworzone przez nas zadanie i uruchamiamy je w celu weryfikacji poprawności działania.

Obraz zawierający zrzut ekranu Opis wygenerowany automatycznie

Zadanie uruchomi się w tle dlatego warto obserwować czy pliki są skopiowane do lokalizacji docelowej. Dodatkowo po jego zakończeniu możemy sprawdzić kiedy ostatnio zostało ono wywołane oraz z jakim skutkiem w samym harmonogramie zadań.

Po zaznaczeniu zadania w górnej części okna przechodzimy na zakładkę historia i sprawdzamy pierwszy komunikat.

Powtarzamy procedurę dodawania nowego zadania dla każdego pliku bat z uwzględnieniem odpowiednich odstępów czasowych.

Ostatecznie w harmonogramie powinniśmy mieć 3 zadania jak poniżej.

5. Podsumowanie

Zautomatyzowanie procesu zabezpieczania kopii zapasowych danych poprzez użycie programu ROBOCOPY jest najprostszym sposobem na uniknięcie problemów w przypadku ciężkiego uszkodzenia serwera. Dzięki odpowiedniej polityce zabezpieczania kopii zapasowych firma nie ryzykuje utraty wszystkich danych projektowych gromadzonych przez wiele lat.

KOMENTARZE