Próbuję skopiować duży plik kopii zapasowej bazy danych przez sieć.
Wynik tradycyjnego kopiowania programu lub błąd xcopy
z innym plikiem binarnym. Próbowano także robocopy
bez parametru i spowodowało błąd. Właśnie wykonałem kolejną próbę robocopy
użycia /zb
parametru (restart i tryb kopii zapasowej). Trwało to znacznie dłużej, ale zakończyło się sukcesem.
Moje pytanie brzmi: czy tryb tworzenia kopii zapasowych naprawdę służy do kopiowania dużych plików / kopii zapasowych? Przeszukałem sieć i nie mogłem znaleźć jednoznacznej odpowiedzi. Byłbym wdzięczny, gdyby jakiś doświadczony użytkownik mógł dać mi wskazówkę lub lepsze rozwiązanie.
windows
backup
file-transfer
robocopy
ydoow
źródło
źródło
Odpowiedzi:
Tryb tworzenia kopii zapasowych jest sposobem na odczytywanie i zapisywanie plików, ignorując wszelkie problemy z uprawnieniami.
Wykorzystuje
SeBackupPrivilege
(odczyt) iSeRestorePrivilege
(zapis) w celu odczytu / zapisu wszystkich plików, pomijając wszelkie ACE, które uniemożliwiłyby ci odczyt lub zapis pliku.Zwykle podczas próby skopiowania lub uzyskania dostępu do pliku system Windows sprawdza, czy masz uprawnienia do odczytu lub zapisu w lokalizacji, ale z
SeBackupPrivilege
(przyznane grupom Operatorów kopii zapasowych i Administratorów) orazSeRestorePrivilege
(przyznane również Operatorom kopii zapasowych i Administratorom grupy), te kontrole są pomijane.Aby sprawdzić, czy twoje konto ma te uprawnienia, możesz uruchomić polecenie
whoami /priv
w wierszu polecenia.źródło
Chcę tylko udostępnić aktualizację dotyczącą rozwiązania powyższego problemu.
W moim przypadku
xcopy
nie udało się skopiować pliku powyżej 10 GB na serwerach w innej domenie i lokalizacji serwera.Z drugiej strony,
robocopy
z/zb
- Używa trybu restartu. W przypadku odmowy dostępu ta opcja korzysta z trybu kopii zapasowej.można pomyślnie skopiować. Wydłużyło to jednak czas z 1 godziny do 2,5 godziny.
-
Po ponownej aranżacji serwera plik jest teraz kopiowany między serwerami w tej samej domenie i lokalizacji serwera. Używanie też
xcopy
jest w porządku.-
Więc moja teoria dotyczyłaby prawdopodobnie stabilności połączenia między serwerami. Jeśli połączenie nie jest stabilne (czasami przerywa się, powodując problem z dostępem), podczas kopiowania dużego pliku, takiego jak moja sprawa, prawdopodobnie nastąpi uszkodzenie w dowolnym momencie podczas długiego procesu;
robocopy
z restartem i kopią zapasową można całkiem dobrze odzyskać kopię. Czas spędzony na regeneracji jest prawdopodobnie wadą.Na marginesie należy użyć FTP zamiast kopiowania, jeśli będzie to rutynowe zadanie
źródło
Zdecydowanie zalecamy utworzenie migawki i wykonanie kopii zapasowej systemu plików, który został już wyłączony. Następnie można szybko uruchomić robocopy za pomocą / J (niebuforowane We / Wy dla dużych plików). Oto skrypt do tworzenia kopii w tle C: która nazywa się P :. Ten dysk (P :) to statyczny obraz dysku C: idealny do tworzenia kopii zapasowych. Używamy tej techniki do kopiowania aktywnych obrazów dysków maszyny wirtualnej na dysk kopii zapasowej.
Poniższe wykorzystuje cztery pliki skryptów:
wiszące ćwiekipoprzedni cień, jeśli wewnętrzny plik wsadowy się zawiesił1) plik wsadowy, aby rozpocząć proces
2) plik polecenia cienia „cleanup.cmds”, aby zniszczyć poprzednio aktywny cień
3) plik polecenia cienia „diskshadow.cmds”, który buduje cień, a następnie wywołuje czwarty plik
4) Plik poleceń „backup.cmd” do działania w cieniu
Należy pamiętać, że Windows Server 2016 (i ewentualnie inne wersje) uruchamia kopię w tle dwa razy dziennie w ciągu tygodnia, co spowoduje awarię utworzonej poniżej kopii w tle. Upewnij się, że ta technika tworzenia kopii zapasowych nie pokrywa się z tymi zautomatyzowanymi zaplanowanymi poleceniami cienia.
źródło
Aby rozwinąć odpowiedź @ erict, oto jak używać PowerShell do tworzenia i niszczenia migawki:
Można to również uruchomić na zdalnym komputerze, używając zdalnego narzędzia PowerShell :
źródło