Skrypt backupowy w PowerShell, czyli kontynuujemy naszą serię poświęconą Windows Server! Dzisiejszy artykuł będzie swego rodzaju instrukcją o stworzeniu skryptu backupowego, który później zamieścimy w harmonogramie zadań! Jak na pewno dobrze wiecie, w dzisiejszych czasach dane są kluczowe dla funkcjonowania przedsiębiorstw i organizacji, regularne tworzenie kopii zapasowych staje się nieodzownym elementem dbania o bezpieczeństwo informacji. PowerShell, czyli potężne narzędzie do automatyzacji w systemach Windows, które może być wykorzystywane do tworzenia skryptów backupowych, które mogą być idealnie dopasowane do naszych potrzeb i piekielnie skuteczne! Więcej na temat samego PowerShell możesz zapoznać się z oficjalnej strony Microsoft: Co to jest program PowerShell? – PowerShell | Microsoft Learn – jest to potężne narzędzie. W połączeniu z harmonogramem zadań systemu Windows, skrypty te mogą być wykonywane regularnie, nawet bez konieczności ręcznego uruchamiania ich przez użytkownika. W tym artykule omówimy kroki niezbędne do stworzenia skryptu backupowego w PowerShell, oraz jego integracji z harmonogramem zadań.
Tworzenie skryptu backupowego w PowerShell
Warto wykorzystać wersję ISE Powershell’a, ponieważ możemy w niej swobodnie pisać, edytować i zapisywać skrypt, a zarazem wykonywać go.
Zaczynamy od stworzenia folderu, w którym to będziemy trzymać nasz skrypt. W moim przypadku będzie to C:\backup
Otwieramy Powershell ISE, wklejamy prosty skrypt, który musimy uzupełnić o ścieżkę do folderu źródłowego, oraz docelowego.
# Ścieżka do folderu zrodlowego
$sourceFolder = "Ścieżka\do\folderu\źródłowego"
# Ścieżka do folderu docelowego
$destinationFolder = "Ścieżka\do\folderu\docelowego"
# Kopiowanie plikow
Copy-Item -Path $sourceFolder\* -Destination $destinationFolder -Force
Zapisujemy jako backup.ps1 (ps1 to rozszerzenie dla skryptów PowerShell)
Na potrzeby testu przygotowałem folder „Dokumenty_zapisywane”, w którym znajdują się dokumenty .pdf, spróbujemy aby w rezultacie wykonanego skryptu ich kopia pojawiła się w innym folderze.
Folderem docelowym jest poniższy folder o nazwie „Backup_dokumentow”
Na początek próbuję wykonać skrypt:
# Ścieżka do folderu zrodlowego
$sourceFolder = "C:\Dokumenty_zapisywane"
# Ścieżka do folderu docelowego
$destinationFolder = "C:\Backup_dokumentow"
# Kopiowanie plikow
Copy-Item -Path $sourceFolder\* -Destination $destinationFolder -Force
Klikając zielony przycisk Run, lub F5 uruchamiam skrypt. W okienku poniżej widzę wykonany skrypt bez żadnych błędów.
Dla przykładu, gdyby w naszym skrypciku był błąd, wówczas linia PowerShell zwróciłaby do nas z informacją:
Wówczas widzimy w której linii oraz który znak powodują problem z wykonaniem skryptu.
Nasz skrypt backupowy został wykonany bez żadnych błędów, sprawdźmy więc czy pliki zostały przekopiowane.
Pliki zostały przekopiowane prawidłowo!
Jest to bardzo podstawowy przykład, aby wytłumaczyć cały proces i działanie. W praktyce takiego typu skrypty przenoszą dane z np. dysku A na dysk B, aby mieć kopię w razie problemów z dyskiem A. Innym przykładem to kopiowanie z dysku twardego na dysk sieciowy, wówczas skopiowane dane znajdują się w innym, bezpiecznym miejscu.
Harmonogram zadań – aby nasz skrypt backupowy wykonywał się sam
Nikt nie chce codziennie ręcznie uruchamiać skrypt, co jeśli któregoś dnia zapomni? Na szczęście Windows przychodzi do nas z wbudowanym narzędziem do tego typu zadań.
Otwieramy Harmonogram zadań, lub Task Scheduler w ang wersji Windows’a
Tworzymy nowe zadanie podstawowe (create a basic task)
Nazywamy je oraz opcjonalnie dodajemy opis
Ustalamy jak często ma wykonywać się skrypt, w moim przypadku będzie to codziennie
Ustalamy od kiedy (data i godzina) ma zacząć wykonywać się skrypt, oraz co ile dni
Określamy, że harmonogram ma startować program
Wskazujemy na program, który ma być otwierany – czyli PowerShell
Jego ścieżka w systemie Windows to C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
W miejscu arguments wskazujemy na miejsce, w którym znajduje się skrypt, w moim przypadku jest to C:\backup\backup.ps1
Wybiła godzina 14:30, skrypt wykonał się poprawnie i dokumenty zostały przekopiowane automatycznie!
Po wykonaniu tych kroków, Twój skrypt backupowy będzie uruchamiany automatycznie zgodnie z harmonogramem zadań. Upewnij się, że sprawdzasz logi harmonogramu zadań, aby monitorować poprawne działanie zadania oraz ewentualne problemy. Tworzenie skryptów backupowych w PowerShell i integrowanie ich z harmonogramem zadań systemu Windows jest skutecznym sposobem na zapewnienie regularnej ochrony danych, minimalizując ryzyko utraty informacji w przypadku awarii systemu lub błędów użytkownika. Dopasuj ten proces do swoich konkretnych potrzeb i preferencji, aby zapewnić bezpieczeństwo i brak nieprzewidzianych sytuacji! Zachęcamy do zapoznania się z poprzednimi artykułami dotyczącymi Windows Server, cała seria pod tym linkiem! Archiwa Windows Server – DotPy
1 komentarz do “Windows Server #07: Skrypt backupowy PowerShell”