Dropbox i 7-zip – automatyczna kopia zapasowa danych

Z backupem jest taki problem, że jeżeli nie jest robiony automatycznie, to zwykle po pewnym czasie nie jest robiony wcale. Szukałem jakiegoś prostego rozwiązania dla windows, które archiwizowało by mi kilka folderów i wrzucało wszystko na serwer ftp. Podczas moich poszukiwań nie znalazłem niczego godnego uwagi. Programy były płatne, albo na tyle skomplikowane że nie potrafiłem ich rozgryźć.

dropbox automatic data backup

Rozwiązaniem okazał się duet usługi Dropbox (archiwizacja danych w chmurze – bezpłatna) i archiwizatora 7-zip (open source – również za darmo, można korzystać w firmie).

Dropbox

Jeżeli jeszcze nie korzystasz jeszcze z tej usługi to musisz się zarejestrować. Dostaniesz na starcie 2 GB miejsca za darmo. Wystarczy że podasz imię oraz email i hasło, które będą potrzebne później do logowania. Teraz wystarczy jeszcze zainstalować sam program i już można cieszyć się z wygodnego narzędzia do synchronizacji danych i ich archiwizacji.


7-zip

Można go bezpłatnie pobrać tutaj. Zalecam instalacje w proponowanym przez instalator miejscu, ułatwi Ci to dalszą pracę. Ambitni mogą pobrać wersję "7-Zip Command Line Version" która w zupełności wystarczy do naszych zastosowań.

Skrypt

Ostatnim krokiem jest wykorzystanie poniższego skryptu. Jest to zwykły plik tekstowy zapisany z rozszerzeniem bat. Myślę że z jego modyfikacją do własnych potrzeb nikt nie będzie miał problemu.

@ECHO off
ECHO ============================
ECHO ---TWORZENIE KOPII PLIKÓW---
ECHO ============================
ECHO
:: usuniecie starej kopii
del "D:\Dropbox\doc-old.7z"
:: stworzenie kopii aktualnego backupu ze zmiana nazwy
copy "D:\Dropbox\doc.7z" "D:\Dropbox\doc-old.7z"
:: usuniecie aktualnej kopii
del "D:\Dropbox\doc.7z"
:: przejscie do folderu ktorego kopia ma byc wykonana
chdir /d "D:\Dokumenty\"
:: stworzenie archiwum z folderu i zapisanie go
"C:\Program Files\7-zip\7z.exe" a "D:\Dropbox\doc.7z"

Co on robi? Tworzy archiwum z wybranego folderu (u mnie jest to D:\Dokumenty) po czym kopiuje je do folderu dropboxa-a (D:\Dropbox). Ten z kolei kopiuje je na zdalny serwer. Przy ponownym uruchomieniu skryptu archiwum zmienia nazwę na doc_old.zip i jest tworzona świeża kopia doc.zip. dzięki temu mamy zarchiwizowane dwie wersje pliku. Warto wiedzieć ze dropbox umożliwia przywrócenie jeszcze wcześniejszych wersji plików co pozwala się w razie potrzeby cofnąć w czasie nieco dalej.

Archiwizacja

Sposobów na używanie skryptu jest wiele: można go uruchamiać ręcznie co jakiś czas, można wrzucić skrót do niego do folderu autostart, lub jeżeli nie chcemy go uruchamiać go codziennie można użyć harmonogramu zadań.

Wadą prezentowanego rozwiązania jest to że nie działa ono w tle. W przypadku tworzenia kopi większej ilości danych może zająć to chwilę czasu. Jeżeli jednak korzystamy z tego rozwiązania do zabezpieczenia tylko najważniejszych rzeczy (np. pracy magisterskiej) to całość trwa ułamki sekund.

Zalety? Dostęp do danych z każdego miejsca na świecie poprzez przeglądarkę, możliwość przywrócenia poprzednich wersji plików, zerowe koszty, automatyczne przesyłanie kopi na serwer gdy tylko zostanie wykryte połączenie internetowe, synchronizacja backupu na różnych komputerach, szyfrowanie wysyłanych danych... i sporo więcej.

Oczywiście podany skrypt można rozbudować - choćby o szyfrowanie plików czy wyłączanie ze zbioru niechcianych danych. Zainteresowanych odsyłam do dokumentacji programu 7-zip

Komentarze do wpisu "Dropbox i 7-zip – automatyczna kopia zapasowa danych":

  1. 19 Mar 11 o 19:57:32

    A nie lepiej stworzyć junkcję do docelowego katalogu w folderze Dropboksa, żeby archiwizował dane bez niepotrzebnej zabawy w kompresję i skrypty wsadowe?

  2. 19 Mar 11 o 20:27:47

    Dropbox lubi sporadycznie zablokować pliki które synchronizuje, później pojawiają się komunikaty o problemach z zapisaniem plików. Wrzucanie ich do archiwum i kopiowanie pozwoliło mi uniknąć tego problemu.

  3. 19 Mar 11 o 23:21:43

    Zakładanie, że kopia bezpieczeństwa jest bezpieczna w chmurze to samo w sobie proszenie się o wyciek danych i stratę kopii zapasowych. Jeśli już musisz wysyłać swoje backupy w chmurę, zatroszcz się o to, by nikt inny prócz Ciebie nie mógł ich odczytać (TrueCrypt?)

    Do backupów Windowsa używałem kiedyś Cobian Backup, może okaże się przydatny [1], wspiera również szyfrowanie, jeśli upierasz się na kopie w chmurę.

    [1] http://www.cobiansoft.com/cobianbackup.htm

  4. moher
    19 Mar 11 o 23:36:55

    @gslt: 7-zip potrafi szyfrować archiwa aesem.

  5. legalnycyklista
    20 Mar 11 o 00:18:43

    ---TWORZENIE KOPI PLIKÓW----
    ->
    ---TWORZENIE KOPII PLIKÓW----

    musiałem (-;

  6. 20 Mar 11 o 10:11:53

    Dzięki, poprawione :)

  7. 20 Mar 11 o 11:45:44

    Nie usuwałbym najpierw starej kopii zapasowej. Lepiej kasować po wgraniu nowej.

  8. saCOOL
    21 Mar 11 o 15:21:04

    a da się zapisywać owe archiwum pod nazwą:
    doc[data].7z ? takie rozwiązanie byłoby ciekawe

    [data] = rok.miesiąc.dzień - godziny:minuty:sekundy

  9. 21 Mar 11 o 18:16:43

    Zagonienie do pracy zmiennych %date% i %time% powinno dać odpowiednie efekty

  10. 21 Mar 11 o 22:24:20

    Muszę więc popróbować w wolnej chwili, dzięki za radę. Pozdrawiam ;)

  11. 22 Mar 11 o 09:44:53

    Moja wersja skryptu (dzięki pomocy "ours")

    @ECHO off
    ECHO ============================
    ECHO ---TWORZENIE KOPII PLIKÓW---
    ECHO ============================
    ECHO

    SET HOUR=%time:~-11,2%
    Call :TRIM %HOUR%
    GOTO :EOF
    :TRIM
    Set HOUR=%*
    :EOF

    SET MINUTE=%time:~-8,2%
    Call :TRIM %MINUTE%
    GOTO :EOF
    :TRIM
    Set MINUTE=%*
    :EOF

    SET SECOND=%time:~-5,2%
    Call :TRIM %SECOND%
    GOTO :EOF
    :TRIM
    Set SECOND=%*
    :EOF

    :: przejscie do folderu ktorego kopia ma byc wykonana
    chdir /d "D:\DANE\"

    :: stworzenie archiwum z folderu i zapisanie go
    "C:\Program Files\7-zip\7z.exe" a D:\Dropbox\%DATE%%HOUR%.%MINUTE%.%SECOND%backup.7z

  12. Bartek
    23 Kwi 11 o 19:11:44

    Witam, jeśli ktoś chce dostawać za refferala 512MB zamiast 256MB to może to osiągnąć weryfikując swój adres e mail na stronie dropbox.com/edu jako studencki (w domenie .edu). Pomogę to zrobić. Zainteresowani mogą pisać do mnie na dropbox@rymed.edu.pl

  13. PiotrC
    20 Cze 11 o 13:47:55

    Witam. Metoda bardzo przypadła mi do gustu. Niue mniej dla swoich potrzeb robię tym sposobem kopie bezpośrednio na inny dysk.
    I tu mam prośbę. Jak wymusić na takim skrypcie metodę kompresjii na np. ULTRA. Zauważyłem, ze obecna tworzy tzw. normalny stopień kompresji.

  14. 20 Cze 11 o 17:38:28

    spróbuj w parametrach kompresji (ostatnia linijka) dodać przełącznik -mx9

    "C:\Program Files\7-zip\7z.exe" a -mx9 "D:\Dropbox\doc.7z"

    Nie mam obecnie jak tego sprawdzić, ale powinno zadziałać.

  15. PiotrC
    20 Cze 11 o 20:19:45

    Dziękuję "OURS".
    Metoda działa.

  16. PiotrC
    20 Cze 11 o 20:39:17

    Do postu powyżej - przepraszam, że śmiecę post za postem.
    Ale mam jeszcze jedną prośbę.
    Jak oznaczać inne metody kompresji, z uwzględnieniem opcji bez kompresji - wiadomo duże archiwa długo się archiwizują. I szukałbym jeszcze opcji samo rozpakowujących się SFX.
    Niestety szukam, ale bezskutecznie. Dziękuję za pomoc.

  17. 20 Cze 11 o 21:02:03

    -mx0 oraz -sfx

    kliknij ostatni link w moim wpisie, tam masz całą dokumentację

  18. Aser
    26 Wrz 11 o 12:02:24

    Dropbox swoje, ale jest ciekawsza alternatywa MINUS -

    http://min.us/rVaCbcR

    Zyskujemy na starcie 10 GB po czym przez linki referencyjne rozszerzamy do, UWAGA, aż do 50 GB! (każdy zaproszony użytkownik to dodatkowy 1GB pojemności).

    Fajne nie :) aha 2 GB na jeden plik, jeszcze ciekawiej.

    Należy dodać iż minus posiada fajne programy dla wszystkich systemów desktop oraz mobilnych do zarządzania, udostępniania i czegokolwiek tylko chcemy w tym serwisie (nie musimy logować się na stronę).

Napisz komentarz