Automatyczny backup katalogów z plikiem wsadowym

Dla kogo? Dla tych, którzy chcą robić automatyczne kopie zapasowe wybranych katalogów. Można na przykład kopiować w ten sposób ustawienia programów, znajdujące się na partycji z systemem. Jest to przydatne wtedy, gdy mamy dysk podzielony w taki sposób, że na jednej partycji znajduje się jedynie system, a na innej kopie zapasowe. Podczas ponownej instalacji można sformatować partycję systemową, a potem w prosty sposób przywrócić ustawienia programów (zakładki w przeglądarce, listy odtwarzania, ustawienia skrótów klawiaturowych itd.).

Stworzymy plik wsadowy uruchamiający kompresowanie danego katalogu na inną partycję, inny dysk etc.

Zapraszam więc do komputerowej kawiarenki. Postaram się by było równie przyjemnie, jak w programie "Domowa kawiarenka", któren to leci na Polsacie.

Składniki

  • Windows (Linuksowcy mają inne sposoby),
  • archiwizator (program kompresujący) 7-Zip.

Przygotowanie

  1. Po zainstalowaniu 7-zip tworzymy pliki wsadowe. Bierzemy Notatnik i wklejamy co następuje:
    del G:\Backup\DaneAplikacjiStare.7z
    copy G:\Backup\DaneAplikacji.7z G:\Backup\DaneAplikacjiStare.7z
    del G:\Backup\DaneAplikacji.7z
    cd "C:\Documents and Settings\Uzytkownik\Dane aplikacji\"
    C:\Program Files\7-zip\7z.exe a -phaslo -y -t7z "G:\Backup\DaneAplikacji.7z" "*" -r -xr!"Microsoft\" -xr!"Identities\" -mx8

    Pierwsze dwa polecenia powodują, że przed wykonaniem kopii zapasowej zmieniona zostaje nazwa pliku utworzonego poprzednim razem (będą one przecież tworzone regularnie). Dzięki temu zawsze będzie można powrócić do poprzednich ustawień (zapisanych w starej kopii), gdyby okazało się, że nowe zawierają błędy.

    Ostatnia linijka powoduje wykonanie kopii zapasowej katalogu C:\Documents and Settings\Uzytkownik\Dane aplikacji\ w archiwum 7-zip, na które nałożone zostaje hasło (by wprowadzić własne, zamień słowo "haslo"). Pomijane są podkatalogi Microsoft oraz Identities, które nie zawierają nic ciekawego (przy okazji przykład w jaki sposób można nakazać ominięcie konkretnych podkatalogów).

  2. Należy oczywiście dostosować odpowiednio ścieżki do katalogów. W powyższym przykładzie G:\Backup to katalog, do którego zapisywane będą kopie, C:\Documents and Settings\Użytkownik to katalog profilu użytkownika (w przypadku, gdy kopiowane będą właśnie ustawienia programów, słowo "Użytkownik" zastąpić trzeba własną nazwą użytkownika, np. Jaś).
  3. Zapisujemy plik, nadając mu rozszerzenie .bat. Otwieramy Zaplanowane zadania w Panelu sterowania. Klikamy prawym przyciskiem myszy, i z menu Nowy wybieramy Dodaj zaplanowane zadanie. Nadajemy mu nazwę (np. BackupDaneAplikacji). Klikamy je prawym przyciskiem i wybieramy Właściwości. Klik na Przeglądaj i wskazujemy utworzony plik .bat. Na karcie Harmonogram wybieramy żądaną częstotliwość wykonywania tego zadania (np. przy każdym logowaniu, albo też codziennie).

Podawać z...

Od tej chwili co zadany okres czasu wybrany katalog będzie kompresowany do odpowiedniego pliku. Za drugim razem kopia ta zmieni nazwę i utworzony zostanie nowy plik. Za kolejnym: stara kopia zostanie usunięta, poprzednia zajmie jej miejsce, a utworzona zostanie nowa.

Można też tak

A teraz coś specjalnie dla użytkowników Opery. Jak im wiadomo, Opera nie pozwala na eksportowanie swoich ustawień w jakiś w miarę normalny sposób. Musimy więc kopiować katalog z jej profilem. Jednakże w katalogu tym znajduje się zwykle dużo niepotrzebnych plików, które mogą:

  • być duże, a po co niepotrzebnie marnować miejsce i czas (kompresowanie całego profilu Opery trwa dość długo),
  • powodować problemy (konflikty), w przypadku gdy aplikujemy profil utworzony przez poprzednią wersję Opery do nowej wersji (mogą nas ominąć jakieś nowe funkcje i usprawnienia).

Dlatego też tworzona będzie kopia jedynie wybranych plików.

Oto linijki, które należy umieścić w Notatniku i zapisać jako plik .bat:

del G:\Backup\DaneAplikacjiOperaStare.7z
copy G:\Backup\DaneAplikacjiOpera.7z G:\Backup\DaneAplikacjiOperaStare.7z
del G:\Backup\DaneAplikacjiOpera.7z
cd "C:\Documents and Settings\Uzytkownik\Dane aplikacji\"
D:\7-zip\7z.exe a -phaslo -y -t7z "G:\Backup\DaneAplikacjiOpera.7z" "*\Opera\mail\" -ir!"*\Opera\profile\keyboard\" -ir!"*\Opera\profile\menu\" -ir!"*\Opera\profile\mouse\" -ir!"*\Opera\profile\sessions\" -ir!"*\Opera\profile\toolbar\" -ir!"*\Opera\profile\contacts.adr" -ir!"*\Opera\profile\notes.adr" -ir!"*\Opera\profile\opera6.adr" -ir!"*\Opera\profile\opera6.ini" -ir!"*\Opera\profile\search.ini" -ir!"*\Opera\profile\wand.dat" -r -mx8

Reszta analogicznie jak w punkcie 2 i 3. Kopiowane są katalogi z pocztą, ustawieniami skrótów klawiaturowych, menu, myszki, pasków narzędzi, katalog z zapisanymi sesjami, pliki z kontaktami, notatkami, zakładkami, zapisanymi hasłami oraz plik ustawień Opery (opera6.ini; można go pominąć jeśli przywracamy ustawienia ze starszej wersji Opery).

Jeśli mamy zamiar korzystać z automatycznych kopii zapasowych katalogu z ustawieniami wszystkich programów oraz katalogu profilu Opery, to w przypadku pierwszego pliku wsadowego .bat wypadałoby dodać -xr!"*\Opera\" przed -xr!"Microsoft\", tak by niepotrzebnie nie kopiować profilu Opery dwa razy.

Odpowiedz

W 1 pliku u mnie trzeba było wziąść ścieżkę C:\Program Files\7-zip\7z.exe w "", ponieważ do konsoli brało tylko C:\Program.

Oraz jeśli ktoś ma nazwę użytkownika z polskimi znakami (jak ja) to skrypt nie działał, poniważ do kinsoli zostawała wklejaja przekształcona nazwa użytkownika. Chyba że się jakoś ustawia kodowanie w Notatniku, nie wiem.

W każdym bądź razie jako podstawowo konsola u mnie zaczyna od [C:\Documents and Settings\Użyt­kownik\Pulpit] – wprowadziłem najpierw [cd ..], żeby wyjść z Pulpitu, a później [cd Dane Aplikacji]. Dopiero wtedy zadziałało.

A swoja dorga jak trzeba zrobić, żeby wklejało polską nazwę użytkownika do konsoli??

Portret użytkownika archetwist

To odpowiadam

Oraz jeśli ktoś ma nazwę użytkownika z polskimi znakami (jak ja) to skrypt nie działał, poniważ do kinsoli zostawała wklejaja przekształcona nazwa użytkownika. Chyba że się jakoś ustawia kodowanie w Notatniku, nie wiem.

Tak, podczas zapisu pliku masz możliwość skorzystania z opcji Kodowanie.

W każdym bądź razie jako podstawowo konsola u mnie zaczyna od [C:\Documents and Settings\Użyt­kownik\Pulpit] – wprowadziłem najpierw [cd ..], żeby wyjść z Pulpitu, a później [cd Dane Aplikacji]. Dopiero wtedy zadziałało.

To nie jest konieczne, jeśli podaje się ścieżkę bezwzględną, czyli poczynając od litery dysku.

Więc, jakiego kodowania

Więc, jakiego kodowania trzeba użyć, żeby kopiowało polskie znaki?

a jeśli chce się

a jeśli chce się pobierać dane z serwera/innego komputera i bakupowac na swoim ?? zmapowanie dysku sieciowego nie pomaga ( skrypt robi kopie dysku C ). jest takieś wyjście ?

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.