Anonim

Użytkownicy komputerów, którzy dorastali na zaawansowanych komputerach Mac i Windows, mogą nie być tego świadomi, ale kiedyś, dawno temu, wszystkie komputery osobiste były kontrolowane za pomocą interfejsu wiersza polecenia. Tak, to niezdarne okno poleceń na twoim komputerze z Windows było dosłownie jedynym sposobem, w jaki większość ludzi kiedykolwiek wchodziła w interakcje z komputerem. Interfejsy wiersza poleceń w dużej mierze opierały się na małych programach zwanych „skryptami”, które były kolekcjami poleceń systemu operacyjnego używanych do wykonywania typowych zadań.

Chociaż graficzne interfejsy użytkownika dzisiejszych komputerów są o wiele lat świetlnych bardziej zaawansowane i łatwe w użyciu niż stare wiersze poleceń, nadal istnieją zastosowania starszej metody sterowania komputerem. Jedną z najbardziej popularnych i dobrze dopasowanych aplikacji do skryptu wiersza poleceń jest tworzenie kopii zapasowych danych. Skrypty wiersza poleceń można zautomatyzować w dowolnym momencie bez interakcji ze strony człowieka i mają kilka ograniczeń. Najlepsze ze wszystkich - są one wbudowaną częścią systemu operacyjnego Windows.

Dlaczego skrypty wiersza poleceń?

Po co używać skryptu wiersza polecenia, jeśli istnieją zarówno komercyjne, jak i bezpłatne programy do tworzenia kopii zapasowych? Skrypty wiersza poleceń mają wiele unikalnych zalet. Oto kilka z nich:

  • Polecenia natywne : Czy jest lepszy sposób na tworzenie kopii zapasowych danych niż korzystanie z funkcji udostępnianych przez program, który je tworzy? Niezależnie od tego, czy jest to sam system operacyjny za pomocą zwykłego polecenia kopiowania pliku, czy polecenia bazy danych w celu utworzenia pliku binarnego do odtworzenia, program źródłowy najlepiej wie, jak wykonać kopię zapasową.
  • Najwyższa kontrola : Ponieważ skrypt wiersza poleceń wykonuje prostą procedurę krok po kroku, dokładnie wiesz, co się dzieje i możesz łatwo modyfikować zachowanie.
  • Szybko : ponieważ wszystko jest rodzimym poleceniem, nic nie podlega interpretacji. Ponownie używasz poleceń dostarczonych przez sam program, więc narzut jest ograniczony do minimum.
  • Potężny : nie widziałem jeszcze zadania tworzenia kopii zapasowej, którego nie można wykonać za pomocą skryptu wiersza poleceń… i zrobiłem trochę fajnych rzeczy. Chociaż możesz potrzebować trochę badań i prób i błędów, jeśli masz naprawdę wyjątkowe potrzeby, zwykle wbudowane funkcje i funkcje używanego języka skryptowego są więcej niż wystarczające.
  • Darmowy i elastyczny : Oczywiście skrypt wiersza poleceń nic nie kosztuje (poza czasem jego opracowania), więc możesz kopiować skrypty na dowolną liczbę komputerów i systemów przy krótkim lub żadnym koszcie. Porównaj to z kosztem zakupu licencji na oprogramowanie do tworzenia kopii zapasowych na kilku serwerach i / lub komputerach.

Krótki przegląd zapasowego skryptu wsadowego

Większość ludzi nigdy nie nauczyła się używać skryptów wiersza poleceń i jest to uważane za „czarną sztukę”. Jednak w rzeczywistości jest to dość prosta rzecz do nauczenia się. Aby zademonstrować moc wiersza poleceń, udostępniam prosty skrypt wsadowy systemu Windows, którego można użyć do wykonania kopii zapasowej ważnych danych. Ten konfigurowalny i konfigurowalny skrypt nie wymaga żadnej wiedzy (ani chęci do nauki) języka skryptów wsadowych w systemie Windows, ale jeśli zdecydujesz, że chcesz dowiedzieć się więcej o skryptach wsadowych w systemie Windows, przekonasz się, że jest to dobre miejsce początkowe .

Co robi skrypt kopii zapasowej:

  1. Tworzy pełne lub codzienne przyrostowe (definicje poniżej) kopie zapasowe plików i folderów określonych w osobnym pliku tekstowym konfiguracji (patrz poniżej).
    • Gdy nazwa folderu, tworzona jest kopia zapasowa tego folderu i wszystkich podfolderów.
    • Gdy nazwa pliku, tworzona jest kopia zapasowa tylko tego pliku.
  2. Kompresuje (zamki) pliki z kopii zapasowej. Po skopiowaniu wszystkich plików, których kopię zapasową chcesz wykonać, są one kompresowane w celu zaoszczędzenia miejsca. 7-Zip musi być zainstalowany w systemie, aby to działało.
  3. Datuje skompresowany plik i przenosi go do miejsca przechowywania. Po skompresowaniu plików kopii zapasowej powstałe archiwum otrzymuje nazwę pliku zgodnie z bieżącą datą, a następnie zostaje przeniesione do skonfigurowanej lokalizacji przechowywania, takiej jak dysk zewnętrzny lub lokalizacja sieciowa.
  4. Oczyszcza się po sobie. Po zakończeniu wszystkich zadań skrypt wsadowy czyści wszystkie utworzone pliki tymczasowe.

Wymagania:
Windows 2000 / XP / 2003 / Vista lub nowszy
7-Zip (za darmo)

Plik konfiguracyjny:
Plik konfiguracyjny to po prostu plik tekstowy zawierający pliki i foldery do kopii zapasowej, wprowadzony jeden element kopii zapasowej w wierszu. Ten plik musi mieć nazwę „BackupConfig.txt” i znajdować się w tym samym folderze co skrypt kopii zapasowej. Oto przykład pliku BackupConfig.txt (uwaga, znak „#” w pierwszym wierszu oznacza, że ​​wiersz jest komentarzem; komentarze są zawsze ignorowane podczas działania skryptu):

# Wprowadź nazwy plików i folderów, po jednym w wierszu.
C: \ Documents and Settings \ Jason Faulkner \ Desktop C: \ Documents and Settings \ Jason Faulkner \ My Documents \ Ważne pliki C: \ Scripts \ BackupScript.bat

Powyższy przykład utworzyłby kopię zapasową pulpitu użytkownika systemu Jasona Faulknera (i wszystkich folderów na pulpicie), folderu o nazwie „Ważne pliki” w Moich dokumentach (i wszystkich folderów w „Ważnych plikach”) oraz pliku „BackupScript.bat” wewnątrz katalog C: \ Scripts.

Rodzaje kopii zapasowych:

  • Pełna kopia zapasowa: pełna kopia wszystkich plików i folderów (w tym podfolderów) znajduje się w kopii zapasowej.
  • Przyrostowa kopia zapasowa: w przypadku udostępnienia folderu, są tylko pliki utworzone lub zmodyfikowane na bieżącą datę
    kopii zapasowej. Gdy plik jest dostarczany, zawsze jest tworzona kopia zapasowa, niezależnie od tego, kiedy został zmodyfikowany.

Skrypt wsadowy kopii zapasowej systemu Windows

Chcę podkreślić, że ten skrypt jest bardzo prosty, ponieważ tworzy kopie zapasowe przy użyciu prostej kopii pliku. Istnieje kilka opcji konfiguracji, które można ustawić:

  • Miejsce przechowywania kopii zapasowej, w którym przechowywane są skompresowane pliki kopii zapasowej.
  • Dzień tygodnia, w którym zostanie uruchomiona pełna kopia zapasowa (w każdy inny dzień uruchomiona zostanie przyrostowa kopia zapasowa).
  • Lokalizacja, w której 7-Zip jest zainstalowany na twoim komputerze. Skrypt jest automatycznie ustawiany tak, aby wyglądał w domyślnej lokalizacji.

Jeśli masz jakieś sugestie lub prośby o funkcje, prosimy o komentarz poniżej. Bardzo chciałbym zrobić artykuł uzupełniający do tego postu, który zawiera zaktualizowany skrypt oparty na danych wejściowych czytelnika. Jeśli potrzebujesz instrukcji, jak „użyć” tego skryptu lub skonfigurować zaplanowane zadanie, spójrz na linki poniżej źródła skryptu.

Bez zbędnych ceregieli, oto:

Uwaga : Ponieważ cytaty nie są wyświetlane poprawnie poniżej (w rezultacie mogą zepsuć skrypt), umieściłem pod skryptem zwykły link tekstowy, którego można użyć, aby uzyskać dokładne źródło do skopiowania.

@ECHO OFF REM BackupScript REM Wersja 1.01, zaktualizowana: 2008-05-21 REM Autor: Jason Faulkner (artykuły132solutions.com) REM Wykonuje pełne lub przyrostowe kopie zapasowe folderów i plików skonfigurowanych przez użytkownika. Użycie REM --- REM> BackupScript USTAWIENIA ENDEKLOKALNE ENABLEDELAYEDEXPANSION REM --- Opcje konfiguracji --- REM Lokalizacja folderu, w którym chcesz zapisać wynikowe archiwum kopii zapasowej. REM Ten folder musi istnieć. Nie umieszczaj znaku „\” na końcu, zostanie on dodany automatycznie. REM Możesz wprowadzić ścieżkę lokalną, literę dysku zewnętrznego (np. F :) lub lokalizację sieciową (np. \\ serwer \ kopie zapasowe). SET BackupStorage = C: \ Backup REM Który dzień tygodnia chcesz wykonać? pełna kopia zapasowa włączona? REM Wprowadź jedną z następujących opcji: niedz., Pon., Wt., Śr., Czw., Pt., Sob., * REM. Każdego dnia tygodnia oprócz tego określonego poniżej będzie uruchamiana przyrostowa kopia zapasowa. REM Jeśli wpiszesz „*”, za każdym razem zostanie uruchomiona pełna kopia zapasowa. SET FullBackupDay = * REM Lokalizacja, w której 7-Zip jest zainstalowany na twoim komputerze. REM Domyślnie znajduje się w folderze „7-Zip” w katalogu Program Files. ZESTAW InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Nie zmieniaj niczego poniżej, chyba że wiesz, co robisz. | REM + ------------------------------------------------ ----------------------- + REM Zmienne użytkowania. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt REM Sprawdzanie poprawności. JEŻELI NIE ISTNIEJE% filBackupConfig% (ECHO Nie znaleziono pliku konfiguracyjnego, brakuje:% filBackupConfig% GOTO End) JEŚLI NIE ISTNIEJE "% exe7Zip%" (ECHO 7-Zip nie jest zainstalowany w lokalizacji:% dir7Zip% ECHO Zaktualizuj katalog, w którym Zainstalowano 7-Zip GOTO End) REM Zmienne kopii zapasowej. Tokeny FOR / f = 1, 2, 3, 4 delims = / "%% a IN ('date / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Pełny zestaw swXCopy = / e) ELSE (SET txtBackup = Przyrostowy SET swXCopy = / s / d:% FileDate%) ECHO Rozpoczęcie kopiowania plików. JEŚLI NIE ISTNIEJE "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 token = *" %% A IN (% filBackupConfig%) DO (USTAW Bieżący = %% ~ A JEŚLI NIE ISTNIEJE!! Bieżący! "(BŁĄD ECHO! Nie znaleziono:! Bieżący!) ELSE (Kopiowanie ECHO:! Bieżący! SET Miejsce docelowe =% dirTempBackup% \! Bieżący: ~ 0, 1! %% ~ pnxA REM Ustal, czy pozycja jest plikiem czy katalogiem. JEŻELI "%% ~ xA" == "" (katalog REM. XCOPY "! Aktualny!" "!! Miejsce docelowe!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (plik REM . COPY / v / y "! Current!" "! Destination!"))) ECHO Wykonano kopiowanie plików. ECHO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Jeśli plik kopii zapasowej istnieje, usuń go na korzyść nowego pliku. JEŚLI ISTNIEJE "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Kompresowanie plików z kopii zapasowej. (Nowe okno) REM Kompresuj pliki za pomocą 7-Zip w procesie o niższym priorytecie. START "Kompresowanie kopii zapasowej. NIE ZAMKNIJ" / belownormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Zakończono kompresowanie plików z kopii zapasowej. ECHO. ECHO Sprzątanie. JEŚLI ISTNIEJE „% dirTempBackup%” RMDIR / s / q „% dirTempBackup%” ECHO. : Zakończono ECHO zakończone. ECHO. ENDLOCAL

Źródło zwykłego tekstu jest dostępne tutaj: kopia zapasowa

Jeśli potrzebujesz pomocy w rozpoczęciu wdrażania tego skryptu, oto kilka linków, które mogą Ci pomóc:

  • Jak utworzyć plik wsadowy
  • Jak utworzyć zaplanowane zadanie systemu Windows

Jest to ten sam skrypt, którego używam do codziennego tworzenia kopii zapasowych komputera (oczywiście z kilkoma modyfikacjami), więc wiem, że działa bardzo dobrze. Mam nadzieję, że uznasz to za przydatne.

Cieszyć się!

Skrypt wsadowy systemu Windows do tworzenia kopii zapasowych danych