2014-09-19 21:03:44 +0000 2014-09-19 21:03:44 +0000
32
32

Polecenie ROBOCOPY do wykonania przyrostowej kopii zapasowej

Jestem przytłoczony dokumentacją ROBOCOPY. Chcę wykonać przyrostową kopię zapasową moich lokalnych plików na dysk sieciowy (M). Chcę, aby działało to tak szybko, jak to możliwe, bez pliku dziennika i z jak najmniejszą ilością tekstu na ekranie. Wszystkie moje pliki znajdują się gdzieś wewnątrz jednego folderu (MyFolder), który ma wiele zagnieżdżonych podfolderów. Przez “przyrostowe” rozumiem “kopiuj tylko to, co jest nowe lub zmienione”. Nie chcę usuwać żadnych historycznych plików w miejscu docelowym, ale jeśli zmieniłem plik, chcę tylko nowszą wersję. A jeśli nie zmieniłem pliku, to nie chcę go kopiować nad istniejącym plikiem z kopii zapasowej. Czy poniższe rozwiązanie jest poprawne? (Działa na Win7 Enterprise.)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

Proszę, nie sugeruj niczego poza robocopy. Nie wolno mi niczego instalować. I nie obchodzą mnie sprawy bezpieczeństwa. Od tego mam ludzi (czy tego chcę czy nie) ;-)

Odpowiedzi (2)

43
43
43
2014-10-26 14:25:57 +0000

Od kilku lat z powodzeniem używam wariantu poniższego skryptu:

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

Parametry wyjaśnione

  • Opcja /MIR (odpowiednik /E /PURGE) oznacza “mirror” i jest najważniejszą opcją. Traktuje ona folder źródłowy jako “główny”, co powoduje, że robocopy kopiuje/mirroruje wszelkie zmiany w źródle (nowe pliki, usunięcia itp.) do celu, co jest użytecznym ustawieniem dla kopii zapasowej.

  • /FFT jest bardzo ważną opcją, ponieważ pozwala na 2-sekundową różnicę przy porównywaniu znaczników czasowych plików, dzięki czemu drobne różnice zegarów między komputerem a urządzeniem do tworzenia kopii zapasowych nie mają znaczenia. Dzięki temu kopiowane są tylko zmodyfikowane pliki, nawet jeśli czasy modyfikacji plików nie są dokładnie zsynchronizowane.

  • /R:3 określa liczbę ponownych prób w przypadku niepowodzenia połączenia, a /W:10 określa czas oczekiwania wynoszący 10 sekund pomiędzy kolejnymi próbami. Są to przydatne opcje podczas wykonywania kopii zapasowej przez sieć.

  • /Z kopiuje pliki w “trybie restartu”, więc częściowo skopiowane pliki mogą być kontynuowane po przerwie.

  • /NP i /NDL tłumią niektóre dane wyjściowe debugowania, możesz dodatkowo dodać /NS, /NC, /NFL aby jeszcze bardziej zmniejszyć ilość danych wyjściowych (zobacz dokumentacja po szczegóły). Sugerowałbym jednak, aby wydrukować trochę danych wyjściowych podczas pierwszych uruchomień, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami.

Dodatkowe użyteczne parametry wymienione przez innych użytkowników

  • /XJD wyklucza “punkty węzłowe” dla katalogów, dowiązania symboliczne, które mogą powodować problemy takie jak nieskończone pętle podczas tworzenia kopii zapasowej. Zobacz komentarze Brian po szczegóły.

  • /MT[:N] używa wielowątkowości i może przyspieszyć transfer wielu małych plików. Dla N, wartość 2-4 razy większa od liczby rdzeni powinna wystarczyć na normalnej maszynie. Komentowany przez Zoredache na oryginalne pytanie.

Edit w odpowiedzi na komentarz Grangera:

Jeśli naprawdę chcesz zachować pliki, które istnieją w miejscu docelowym, ale nie po stronie źródłowej, po prostu zastąp opcję /MIR przez /E. Jednak zdecydowanie sugerowałbym użycie /MIR, gdy chcesz używać miejsca docelowego do tworzenia przyrostowych kopii zapasowych. W przeciwnym razie wszelkie pliki, których nazwy zostały zmienione lub przeniesione ze źródła, będą zagracały miejsce docelowe, co oznacza, że otrzymamy duplikaty. Zwykle tworzę podfolder “backup” w miejscu docelowym, który zawiera kopię 1:1 drzewa folderów źródłowych. W ten sposób można zachować historyczne pliki obok folderu kopii zapasowej i bezpiecznie je później usunąć lub zreorganizować.

8
8
8
2015-01-20 18:58:26 +0000

Lubię używać następujących opcji:

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

Uruchamiam to jako Administrator, więc tryb backupu (opcja /b) może wykonać kopię używanych plików.

Inne opcje nie związane z przyrostową naturą kopii zapasowej to:

/XD aby wykluczyć katalogi z backupu.

/XJD aby wykluczyć punkty połączeń (“Moja muzyka”).

/R:0 aby ustawić retry przy nieudanych próbach na 0.

/XA:SH aby pominąć pliki ukryte i systemowe.

Aby usunąć jak najwięcej informacji o logowaniu, dołącz następujące opcje /NP /NS /NDL /NFL /NC.