S1O3
Kopia archiwum plików
Disklajmer
Na wstępie muszę również zaznaczyć, że nie biorę odpowiedzialności za działanie opisanych poniżej rozwiązań. Nie mogę brać odpowiedzialności za kopie zapasowe danych nie mając wglądu w konfiguracje poszczególnych kroków. Także każdy bierze odpowiedzialność na siebie.
Archiwum plików jest to miejsce gdzie system EPDM przechowuje wszystkie wersje plików zapisanych i zaewidencjonowanych przez użytkowników (czasem nie wszystkie ale o chłodni będzie innym razem). Jak rozpoznać ten folder ? Jeśli nie mamy pewności (lub chcemy się upewnić) gdzie znajduje się folder archiwum to możemy to sprawdzić. Wystarczy na serwerze archiwum uruchomić edytor rejestru (regedit.exe) i wejść w klucz
OK, kiedy już wiemy gdzie znajduje się archiwum plików trzeba je jakoś przekopiować do naszego katalogu kopii zapasowej. Według naszego założenia nie używamy żadnych dodatkowych programów (w znaczeniu płatnych). Posłużymy się znanym i lubianym programem do pakowania/rozpakowywania plików 7Zip. Można go pobrać ze strony http://www.7-zip.org/. Niewiele osób wie (a może się tylko nie chwalą), że 7zip ma całkiem sporo możliwości jako program konsolowy. Instalujemy 7zipa na serwerze. Teraz utworzymy plik CMD (wsadowy), który wykona za nas robotę. Tworzymy zwykły plik tekstowy (przy pomocy notatnika lub np. Notepad++).
Plik nazywamy np. Kopia_EPDM.CMD. Wchodzimy w jego edycję i dodajemy pierwszą linię
(Uwaga jeśli nasz serwer jest 32bitowy lub taką wersję 7zipa pobierzemy i zainstalujemy to katalog skąd uruchamiamy 7zip będzie „C:\Program Files (x86)\7-Zip\7z.exe”.)
Co oznacza to polecenie? Jakie działania wykonuje? Po kolei
„C:\Program Files\7-Zip\7z.exe” a – oznacza, że przy użyciu 7zip.exe dodaje pliki do archiwum spakowanego (operator a), plik archiwum zapisz jako „C:\Kopia\Kopia_Plikow_%date%.zip” (gdzie %date% to dzisiejsza data), a spakuje pliki znajdujące się w „D:\TEST\” – to nasz katalog archiwum plików, który wcześniej namierzaliśmy.
Zapisujemy plik CMD i uruchamiamy go. Jeśli wszystko poszło OK to w katalogu „C:\KOPIA” znajdziemy plik ze spakowanymi plikami archiwum. Czyli obecnie mamy tam 4 pliki. Kopię baz danych (2 szt.), kopia ustawień serwera archiwum oraz kopia naszych plików z archiwum.
Fajnie by było aby nasz backup był jakoś podzielony. Byłby wtedy czytelniejszy w przeglądaniu i zarządzaniu. OK do naszego pliku Kopia_EPDM.CMD dodajemy kolejną linię
Jak widać jest to bardzo podobne polecenie. Co wykonuje to polecenie ? Dodaje do archiwum spakowanego (7zip.exe z parametrem a) pliki z „C:\Kopia\*.*” do katalogu „C:\Kopia\%date%\Kopia_EPDM_%date%.zip”. Zauważmy, że zakładany jest folder o nazwie %date% czyli z dzisiejszą datą. I tak właśnie będą podzielone nasze kopie bezpieczeństwa.
No to super uruchamiamy nasz plik CMD. Pliki są pakowane, dodawane do katalogu „C:\KOPIA” następnie wszystko razem jest pakowane do katalogu o nazwie jak dzisiejsza datą do jednej paczki z danego dnia.
Fajnie by było aby po zakończeniu tej operacji pliki z katalogu „C:\KOPIA” zostały usunięte. Po co nam one skoro mamy je już spakowane w paczkę dzienną? Można by to zrobić ręcznie ale po to konfigurujemy automat. Jak się łatwo domyślić dodajemy kolejne polecenie do naszego pliku Kopia_EPDM.CMD
To polecenie usunie wszystkie pliki z katalogu „C:\KOPIA” ale tylko z niego nie wchodząc głębiej. Nasza kopia danych w katalogu dziennym będzie bezpieczna. Operator Q powoduje, że operacja ta wykona się w trybie cichym bez żadnych pytań. Skoro skrypt ma się wykonywać automatycznie na serwerze żadne pytania czy potwierdzenia nie są nam potrzebne.
W dzisiejszym odcinku dowiedzieliśmy się jak napisać prosty plik wsadowy, który skopiuje nam i spakuje pliki archiwum do wybranego przez nas katalogu. Ten plik wsadowy pozwala nam również uporządkować nasze kopie w logiczny sposób. W kolejnym odcinku dowiemy się jak skonfigurować automatyczne zadanie, które uruchomi nasz skrypt o określonej godzinie w określone dni
Poprzednie artykuły:
Kopia bezpieczeństwa EPDM – bez dodatkowego oprogramowania S1O1
Kopia bezpieczeństwa EPDM – bez dodatkowego oprogramowania S1O2