Automatyczne tworzenie kopii bezpieczeństwa zawartości pamięci USB

Stwórzmy za pomocą skryptu kopię bezpieczeństwa nośnika, tak aby jego zawartość była automatycznie kopiowana, gdy tylko podepniemy pamięć USB do komputera. Dzięki takiemu rozwiązaniu nawet w przypadku awarii na każdym z naszych komputerów będą dostępne pliki w aktualnej wersji. Aby kopia zapasowa była wykonywana na kilku komputerach, musimy odpowiedni skrypt umieścić na pendrivie oraz aktywować automatyczne uruchamianie wymiennych nośników danych.
Wykorzystując funkcję automatycznego uruchamiania, sprawimy, że dane na naszym pendrivie zostaną automatycznie zabezpieczone.
Wykorzystując funkcję automatycznego uruchamiania, sprawimy, że dane na naszym pendrivie zostaną automatycznie zabezpieczone.

Kopiowaniem zajmie się wydajne narzędzie »robocopy.exe«. W przypadku Visty jest to narzędzie systemowe, natomiast w przypadku Windows XP musimy pobrać pakiet narzędzi Windows Server 2003 Resource Kit. Ściągniemy go za darmo ze strony www.microsoft.com/downloads. Tam szukamy »rktools.exe«. Po zainstalowaniu pakietu narzędzie »robocopy.exe« znajdziemy w folderze »C:Program FilesWindows Resource KitsTools« bądź w Viście pod »C:WindowsSystem32«. Plik kopiujemy na nośnik USB. Jeżeli mamy pod ręką płytę dołączoną do CHIP-a, możemy poniższy skrypt zapisany w pliku “USB_BackUp.bat” skopiować do głównego katalogu nośnika pamięci.

@echo off & setlocal
echo %computername%
If %computername%==PC-1 goto PC-1
If %computername%==PC-2 goto PC-2
If %computername%==Notebook goto Notebook
Goto Error
:PC-1
.. obocopy.exe %cd% “C:DaneKopiaUSB” /MIR /NFL /NDL
Goto End
:PC-2
.. obocopy.exe %cd% “C:DaneKopiaUSB” /MIR /NFL /NDL
Goto End
:Notebook
.. obocopy.exe %cd% “C:MojeDaneKopiaUSB” /MIR /NFL /NDL
Goto End
:Error
Echo “Nieprawidłowy komputer! Kopia nie została utworzona!”
pause
Goto: eof
:End
Echo “Kopia bezpieczeństwa karty pamięci została utworzona”
Ping -n 5 localhost > nul

Ważne:

Skrypt sprawdza aktualną nazwę komputera, porównuje ją z nazwą podaną w zestawieniu i na tej podstawie decyduje, który ciąg poleceń wykonać. Aby to się udało, musimy wpisać nazwy komputerów, na których ma być tworzona kopia. W skrypcie utworzyliśmy w tym celu maski »PC-1« oraz »PC-2«, które wystarczy po prostu zamienić na rzeczywiste nazwy komputerów. Nazwę komputera poznamy, wciskając kombinację klawiszy [Windows] + [Pause], otwierającą właściwości systemu, i przechodząc do zakładki »Nazwa komputera«. Dodatkowo w przypadku polecenia kopiowania powinniśmy uwzględnić to, którą literę dysku ma pendrive na poszczególnych komputerach, oraz miejsce, w którym dane mają zostać zabezpieczone.

Teraz pozostało nam jeszcze sprawić, aby plik wsadowy był automatycznie uruchamiany, gdy podepniemy nośnik pamięci do komputera. W tym celu tworzymy za pomocą edytora tekstu plik »autorun.inf« w głównym katalogu pendrive’a, po czym wpisujemy w pliku polecenia

[autorun]
UseAutoPlay=1
Action=Kopiowanie pamięci USB
ShellExecute=USB_BackUP.bat

Gdy zapiszemy plik, nic już nie przeszkodzi w automatycznym tworzeniu kopii bezpieczeństwa. Kiedy podłączymy pamięć USB do komputera, skrypt zostanie automatycznie wykonany. Jeżeli skrypt nie stwierdzi zgodności nazw komputerów, zostanie wyświetlona stosowna informacja. Za pomocą polecenia »pause« zatrzymujemy ekran, by odczytać wyświetloną informację. W przypadku zgodności nazw komputerów narzędzie wykona zaprogramowany proces kopiowania.

Wskazówka:

Za pomocą zmiennej  “%cd%” uporamy się z problemem związanym z możliwością przypisania pendrive’owi przez system operacyjny nowej litery napędu – dzięki czemu wykorzystana zostanie zawsze aktualna ścieżka.

Jeżeli skrypt się nie uruchamia, widocznie w Rejestrze została zablokowana opcja automatycznego uruchamiania. Pozbędziemy się blokady, logując się w systemie jako użytkownik z prawami administratora. W tym celu uruchamiamy edytor Rejestru i przechodzimy do klucza »HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent VersionpoliciesExplorer«. Dwukrotnie klikamy wpis »NoDriveTypeAuto Run« i zmieniamy wartość na szesnastkowe »91« (dziesiętne 145). Gdy zamkniemy edytor Rejestru, automatyczne uruchamianie będzie znowu aktywne.