azcopy sync

Replikuje lokalizację źródłową do lokalizacji docelowej. Ten artykuł zawiera szczegółową dokumentację polecenia azcopy sync. Aby dowiedzieć się więcej na temat synchronizowania obiektów blob między lokalizacjami źródłowymi i docelowymi, zobacz Synchronizowanie z usługą Azure Blob Storage przy użyciu narzędzia AzCopy w wersji 10. W przypadku usługi Azure Files zobacz Synchronizowanie plików.

Streszczenie

Czas ostatniej modyfikacji jest używany do porównania. Plik jest pomijany, jeśli czas ostatniej modyfikacji w miejscu docelowym jest nowszy. Obsługiwane pary to:

  • Lokalny <—> Azure Blob/Azure File (można użyć uwierzytelniania SAS lub OAuth)
  • Azure Blob <—> Azure Blob (źródło musi zawierać sygnaturę dostępu współdzielonego lub jest publicznie dostępne; uwierzytelnianie SAS lub OAuth może być używane na potrzeby miejsca docelowego)
  • <Plik platformy Azure —> plik platformy Azure (źródło musi zawierać sygnaturę dostępu współdzielonego lub jest publicznie dostępne; Uwierzytelnianie SYGNATURy dostępu współdzielonego powinno być używane dla miejsca docelowego)
  • Azure Blob <—> Azure File

Polecenie synchronizacji różni się od polecenia copy na kilka sposobów:

  1. Domyślnie flaga cykliczna ma wartość true i synchronizuje wszystkie podkatalogi. Synchronizacja kopiuje tylko pliki najwyższego poziomu w katalogu, jeśli flaga cykliczna ma wartość false.
  2. Podczas synchronizacji między katalogami wirtualnymi dodaj końcowy ukośnik do ścieżki (zapoznaj się z przykładami), jeśli istnieje obiekt blob o tej samej nazwie co jeden z katalogów wirtualnych.
  3. Jeśli flaga "delete-destination" jest ustawiona na wartość true lub monit, synchronizacja usunie pliki i obiekty blob w miejscu docelowym, które nie znajdują się w źródle.

Zaawansowane:

Pamiętaj, że jeśli nie określisz rozszerzenia pliku, narzędzie AzCopy automatycznie wykrywa typ zawartości plików podczas przekazywania z dysku lokalnego na podstawie rozszerzenia pliku lub zawartości.

Wbudowana tabela odnośników jest mała, ale w systemie Unix jest rozszerzana przez pliki mime.types systemu lokalnego, jeśli są dostępne pod co najmniej jedną z następujących nazw:

  • /etc/mime.types
  • /etc/apache2/mime.types
  • /etc/apache/mime.types

W systemie Windows typy MIME są wyodrębniane z rejestru.

Należy również pamiętać, że synchronizacja działa poza czasy ostatniej modyfikacji wyłącznie. W przypadku usługi Azure File —> Azure File <pole nagłówka Last-Modified jest używane zamiast x-ms-file-change-time, co oznacza, że zmiany metadanych w źródle mogą również wyzwolić pełną kopię.

azcopy sync [flags]

Przykłady

Synchronizuj pojedynczy plik:

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"

Tak samo jak powyżej, ale także oblicza skrót MD5 zawartości pliku, a następnie zapisz ten skrót MD5 jako właściwość Content-MD5 obiektu blob.

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" --put-md5

Zsynchronizuj cały katalog, w tym jego podkatalogi (pamiętaj, że rekursywny jest domyślnie włączony):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" lub azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --put-md5

Synchronizuj tylko pliki wewnątrz katalogu, ale nie podkatalogów lub plików wewnątrz podkatalogów:

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false

Zsynchronizuj podzbiór plików w katalogu (na przykład: tylko pliki jpg i pdf lub jeśli nazwa pliku to "exactName"):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --include-pattern="*.jpg;*.pdf;exactName"

Zsynchronizuj cały katalog, ale wyklucz niektóre pliki z zakresu (na przykład każdy plik rozpoczynający się od foo lub kończy się paskiem):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --exclude-pattern="foo*;*bar"

Synchronizuj pojedynczy obiekt blob:

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"

Synchronizowanie katalogu wirtualnego:

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=true

Zsynchronizuj katalog wirtualny o tej samej nazwie co obiekt blob (dodaj końcowy ukośnik do ścieżki, aby uściślić):

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/" --recursive=true

Synchronizowanie katalogu usługi Azure File (ta sama składnia co obiekt blob):

azcopy sync "https://[account].file.core.windows.net/[share]/[path/to/dir]?[SAS]" "https://[account].file.core.windows.net/[share]/[path/to/dir]" --recursive=true

Uwaga: jeśli flagi dołączania i wykluczania są używane razem, używane są tylko pliki pasujące do wzorców dołączania, ale te pasujące do wzorców wykluczania są ignorowane.

Opcje

--block-size-mb (float) Użyj tego rozmiaru bloku (określonego w programie MiB) podczas przekazywania do usługi Azure Storage lub pobierania z usługi Azure Storage. Wartość domyślna jest obliczana automatycznie na podstawie rozmiaru pliku. Ułamki dziesiętne są dozwolone (na przykład: 0,25).

--check-md5 (ciąg) Określa, jak należy sprawdzić poprawność skrótów MD5 podczas pobierania. Ta opcja jest dostępna tylko podczas pobierania. Dostępne wartości to: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (wartość domyślna "FailIfDifferent"). (ustawienie domyślne "FailIfDifferent")

--cpk-by-name (ciąg) Klient pod warunkiem klucza według nazwy pozwala klientom wysyłającym żądania do usługi Azure Blob Storage opcję udostępnienia klucza szyfrowania dla poszczególnych żądań. Podana nazwa klucza zostanie pobrana z usługi Azure Key Vault i będzie używana do szyfrowania danych

--cpk-by-value Klient pod warunkiem klucza według nazwy pozwala klientom wysyłającym żądania do usługi Azure Blob Storage opcję udostępnienia klucza szyfrowania dla poszczególnych żądań. Podany klucz i jego skrót zostaną pobrane ze zmiennych środowiskowych

--delete-destination (ciąg) Określa, czy usunąć dodatkowe pliki z miejsca docelowego, które nie znajdują się w źródle. Może być ustawiona wartość true, false lub monit. Jeśli ustawisz monit, użytkownik zostanie poproszony o pytanie przed zaplanowaniem plików i obiektów blob w celu usunięcia. (wartość domyślna "false"). (wartość domyślna "false")

--dry-run Drukuje ścieżkę plików, które zostaną skopiowane lub usunięte przez polecenie synchronizacji. Ta flaga nie kopiuje ani nie usuwa rzeczywistych plików.

--exclude-attributes (ciąg) (Tylko system Windows) Wyklucz pliki, których atrybuty są zgodne z listą atrybutów. Na przykład: A; S; R

--exclude-path (ciąg) Wyklucz te ścieżki podczas porównywania źródła z miejscem docelowym. Ta opcja nie obsługuje symboli wieloznacznych (*). Sprawdza prefiks ścieżki względnej (na przykład: myFolder;myFolder/subDirName/file.pdf).

--exclude-pattern (ciąg) Wyklucz pliki, w których nazwa jest zgodna z listą wzorców. Na przykład: .jpg;.pdf;exactName

--exclude-regex (ciąg) Wyklucz ścieżkę względną plików pasujących do wyrażeń regularnych. Oddzielanie wyrażeń regularnych znakami ";".

--from-to (ciąg) Opcjonalnie określa kombinację miejsca docelowego źródła. Na przykład: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob itp.

-h, --help pomoc dotycząca synchronizacji

--include-attributes (ciąg) (Tylko system Windows) Uwzględnij tylko pliki, których atrybuty są zgodne z listą atrybutów. Na przykład: A; S; R

--include-pattern (ciąg) Uwzględnij tylko pliki, w których nazwa jest zgodna z listą wzorców. Na przykład: .jpg;.pdf;exactName

--include-regex (ciąg) Dołącz ścieżkę względną plików pasujących do wyrażeń regularnych. Oddzielanie wyrażeń regularnych znakami ";".

--log-level (ciąg) Zdefiniuj szczegółowość dziennika dla pliku dziennika, dostępne poziomy: INFO (wszystkie żądania i odpowiedzi), WARNING (powolne odpowiedzi), ERROR (tylko żądania, które zakończyły się niepowodzeniem) i NONE (brak dzienników wyjściowych). (domyślne INFORMACJE). (domyślne "INFO")

--mirror-mode Wyłącz porównanie oparte na czasie ostatniej modyfikacji i zastępuje pliki powodujące konflikty i obiekty blob w miejscu docelowym, jeśli ta flaga ma wartość true. Wartość domyślna to false

--preserve-permissions Wartość false domyślnie. Zachowuje listy ACL między zasobami obsługującymi (windows i Azure Files lub ADLS Gen 2 do usługi ADLS Gen 2). W przypadku kont hierarchicznej przestrzeni nazw będziesz potrzebować tokenu SAS lub OAuth kontenera z uprawnieniami Modyfikowanie własności i Modyfikowanie uprawnień. W przypadku pobierania będzie również potrzebna flaga --backup , aby przywrócić uprawnienia, w których nowy właściciel nie będzie użytkownikiem z uruchomionym narzędziem AzCopy. Ta flaga dotyczy zarówno plików, jak i folderów, chyba że określono filtr tylko do pliku (na przykład wzorzec dołączania).

--preserve-smb-info W przypadku lokalizacji obsługujących protokół SMB flaga będzie domyślnie ustawiona na wartość true. Zachowuje informacje o właściwościach protokołu SMB (czas ostatniego zapisu, czas tworzenia, bity atrybutów) między zasobami obsługującymi protokół SMB (Azure Files). Ta flaga dotyczy zarówno plików, jak i folderów, chyba że określono filtr tylko do pliku (na przykład wzorzec dołączania). Informacje przesyłane dla folderów są takie same jak w przypadku plików, z wyjątkiem czasu ostatniego zapisu, który nie jest zachowywany dla folderów. (wartość domyślna true)

--put-md5 Utwórz skrót MD5 każdego pliku i zapisz skrót jako właściwość Content-MD5 docelowego obiektu blob lub pliku. (Domyślnie skrót NIE jest tworzony). Dostępne tylko podczas przekazywania.

--recursive Domyślnie sprawdzaj podkatalogi rekursywnie podczas synchronizacji między katalogami. (wartość domyślna true). (wartość domyślna true)

--s2s-preserve-access-tier Zachowaj warstwę dostępu podczas kopiowania usługi. Zapoznaj się z usługą Azure Blob Storage: warstwami dostępu Gorąca, Chłodna i Archiwum, aby upewnić się, że docelowe konto magazynu obsługuje ustawianie warstwy dostępu. W przypadkach, w których ustawienie warstwy dostępu nie jest obsługiwane, użyj polecenia s2sPreserveAccessTier=false , aby pominąć kopiowanie warstwy dostępu. (wartość domyślna true). (wartość domyślna true)

--s2s-preserve-blob-tags Zachowywanie tagów indeksu podczas synchronizacji usługi z jednego magazynu obiektów blob do innego

Opcje dziedziczone z poleceń nadrzędnych

--cap-mbps (float) Limituje szybkość transferu w megabitach na sekundę. Przepływność moment po chwili może się nieznacznie różnić od limitu. Jeśli ta opcja jest ustawiona na zero lub zostanie pominięta, przepływność nie jest ograniczona.

--output-type (ciąg) Format danych wyjściowych polecenia. Dostępne opcje to: tekst, json. Wartość domyślna to "text". (domyślny "tekst")

--trusted-microsoft-suffixes (ciąg) Określa inne sufiksy domeny, w których mogą być wysyłane tokeny logowania usługi Azure Active Directory. Wartość domyślna to '.core.windows.net;. core.chinacloudapi.cn; .core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net'. Wszystkie wymienione tutaj są dodawane do wartości domyślnej. W przypadku zabezpieczeń należy umieścić tutaj tylko domeny platformy Microsoft Azure. Rozdziel wiele wpisów średnikami.

Zobacz też