azcopy sync

Replikuje zdrojové umístění do cílového umístění. Tento článek obsahuje podrobné referenční informace o příkazu azcopy sync. Další informace o synchronizaci objektů blob mezi zdrojovými a cílovými umístěními najdete v tématu Synchronizace se službou Azure Blob Storage pomocí nástroje AzCopy v10. Informace o službě Soubory Azure najdete v tématu Synchronizace souborů.

Synopse

K porovnání se používají časy poslední změny. Pokud je čas poslední změny v cíli novější, soubor se přeskočí. Případně můžete pomocí příznaku --compare-hash přenést pouze soubory, které se liší v hodnotě hash MD5. Mezi podporované páry patří:

  • Místní <–> Azure Blob / Azure File (je možné použít ověřování SAS nebo OAuth)
  • Azure Blob –> Azure Blob <(je možné použít ověřování SAS nebo OAuth)
  • <Soubor Azure –> Soubor Azure (zdroj musí obsahovat SAS nebo je veřejně přístupný; Pro cíl by se mělo použít ověřování SAS).
  • Azure Blob <–> Soubor Azure

Příkaz synchronizace se liší od příkazu kopírování několika způsoby:

  1. Ve výchozím nastavení je rekurzivní příznak pravdivý a synchronizace zkopíruje všechny podadresáře. Synchronizace zkopíruje pouze soubory nejvyšší úrovně v adresáři, pokud je rekurzivní příznak false.
  2. Při synchronizaci mezi virtuálními adresáři přidejte koncové lomítko do cesty (odkazujte na příklady), pokud je objekt blob se stejným názvem jako jeden z virtuálních adresářů.
  3. Pokud je příznak delete-destination nastavený na true nebo prompt, synchronizace odstraní soubory a objekty blob v cíli, které nejsou přítomné ve zdroji.

Pokyny

Ve výchozím nastavení synchronizační příkaz porovnává názvy souborů a časová razítka poslední změny. Toto chování můžete přepsat tak, aby místo časového razítka poslední změny používalo hodnoty hash MD5.--compare-hash --delete-destination Pokud tyto soubory ve zdrojovém adresáři již neexistují, nastavte volitelný příznak na hodnotu true nebo prompt odstraňte soubory v cílovém adresáři.

  • Pokud nastavíte --delete-destination příznak na true, AzCopy odstraní soubory bez zadání výzvy. Pokud chcete, aby se zobrazila výzva před odstraněním souboru nástrojem AzCopy, nastavte --delete-destination příznak na prompt.

  • Pokud plánujete nastavit --delete-destination příznak na nebo false, zvažte použití příkazu copy místo příkazu sync a nastavte --overwrite parametr na ifSourceNewerprompt . Příkaz pro kopírování spotřebovává méně paměti a účtuje méně nákladů na fakturaci, protože operace kopírování nemusí před přesunem souborů indexovat zdroj ani cíl.

  • Pokud nechcete příznak používat --compare-hash , měl by mít počítač, na kterém spouštíte příkaz synchronizace, přesný systémový čas, protože časy poslední změny jsou důležité při určování, jestli se má soubor přenést. Pokud má váš systém značnou nerovnoměrnou distribuci hodin, vyhněte se úpravám souborů v cíli příliš blízko času, kdy plánujete spustit příkaz synchronizace.

  • AzCopy používá rozhraní API mezi servery k synchronizaci dat mezi účty úložiště. To znamená, že data se kopírují přímo mezi servery úložiště. AzCopy ale nastavuje a monitoruje každý přenos a pro větší účty úložiště (například účty, které obsahují miliony objektů blob), AzCopy může k provedení těchto úloh vyžadovat značné množství výpočetních prostředků. Proto pokud používáte AzCopy z virtuálního počítače, ujistěte se, že má virtuální počítač dostatek jader a paměti pro zpracování zatížení.

Rozšířený

Všimněte si, že pokud nezadáte příponu souboru, AzCopy automaticky zjistí typ obsahu souborů při nahrávání z místního disku na základě přípony souboru nebo obsahu.

Integrovaná vyhledávací tabulka je malá, ale v unixu je rozšířená o soubory mime.types místního systému, pokud jsou k dispozici pod jedním nebo více z těchto názvů:

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

Ve Windows se typy MIME extrahují z registru.

Synchronizace ve výchozím nastavení funguje mimo časy poslední změny, pokud toto výchozí chování nepřepíšete pomocí příznaku --compare-hash . V případě souboru Azure – Azure File <> se místo změny x-ms-file-change-time použije pole hlavičky Naposledy změněno, což znamená, že změny metadat ve zdroji můžou také aktivovat úplnou kopii.

azcopy sync [flags]

Příklady

Synchronizace jednoho souboru:

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

Stejně jako výše, ale také vypočítat hodnotu hash MD5 obsahu souboru a pak uložit hodnotu hash MD5 jako vlastnost Content-MD5 objektu blob.

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

Synchronizujte celý adresář včetně jeho podadresářů (všimněte si, že rekurzivní je ve výchozím nastavení zapnuté):

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

Synchronizujte pouze soubory v adresáři, ale ne podadresáře nebo soubory uvnitř podadresářů:

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

Synchronizujte podmnožinu souborů v adresáři (například pouze soubory jpg a pdf nebo pokud je název souboru "exactName"):

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

Synchronizujte celý adresář, ale vylučte určité soubory z oboru (například každý soubor, který začíná foo nebo končí pruhem):

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

Synchronizace jednoho objektu blob:

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

Synchronizace virtuálního adresáře:

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

Synchronizujte virtuální adresář, který má stejný název jako objekt blob (přidejte koncové lomítko k cestě, aby bylo možné nejednoznačit):

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

Synchronizace adresáře Azure File (stejná syntaxe jako 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

Poznámka: Pokud se společně používají příznaky zahrnutí a vyloučení, použijí se pouze soubory odpovídající vzorům zahrnutí, ale ty, které odpovídají vzorům vyloučení, se ignorují.

Možnosti

--block-size-mb (float) Tuto velikost bloku (zadanou v MiB) použijte při nahrávání do Služby Azure Storage nebo stahování ze služby Azure Storage. Výchozí hodnota se automaticky vypočítá na základě velikosti souboru. Desetinné zlomky jsou povolené (například: 0,25). Při nahrávání nebo stahování je maximální povolená velikost bloku 0,75 × AZCOPY_BUFFER_GB. Další informace najdete v tématu Optimalizace využití paměti.

--check-md5 (řetězec) Určuje, jak se mají při stahování ověřit výhradně hodnoty hash MD5. Tato možnost je dostupná pouze při stahování. Mezi dostupné hodnoty patří: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (výchozí 'FailIfDifferent'). (výchozí "FailIfDifferent")

--cpk-by-name (řetězec) Klient poskytnutý názvem umožňuje klientům, kteří v Úložišti objektů blob v Azure zadají požadavky, možnost poskytnout šifrovací klíč pro jednotlivé požadavky. Zadaný název klíče se načte ze služby Azure Key Vault a použije se k šifrování dat.

--cpk-by-value Klient poskytnutý názvem umožňuje klientům, kteří v Úložišti objektů blob v Azure zadají požadavky, možnost poskytnout šifrovací klíč pro jednotlivé požadavky. Zadaný klíč a jeho hodnota hash se načte z proměnných prostředí.

--delete-destination (řetězec) Definuje, jestli se mají z cíle odstranit nadbytečné soubory, které nejsou ve zdroji. Je možné nastavit hodnotu true, false nebo prompt. Pokud je tato možnost nastavená na výzvu, zobrazí se uživateli dotaz před plánováním souborů a objektů blob pro odstranění. (výchozí hodnota false). (výchozí "false")

--dry-run Vytiskne cestu k souborům, které se zkopírují nebo odeberou příkazem synchronizace. Tento příznak nezkopíruje ani neodebere skutečné soubory.

--exclude-attributes (řetězec) (Jenom Windows) Vylučte soubory, jejichž atributy odpovídají seznamu atributů. Příklad: A; S; R

--exclude-path (řetězec) Při porovnávání zdroje s cílem tyto cesty vylučte. Tato možnost nepodporuje zástupné znaky (*). Kontroluje předponu relativní cesty (například: myFolder; myFolder/subDirName/file.pdf).

--exclude-pattern (řetězec) Vylučte soubory, ve kterých název odpovídá seznamu vzorů. Příklad: .jpg;. Pdf; exactName

--exclude-regex (řetězec) Vylučte relativní cestu k souborům, které odpovídají regulárním výrazům. Oddělte regulární výrazy znakem ;.

--force-if-read-only Při přepsání existujícího souboru ve Windows nebo službě Azure Files vynuťte, aby přepsání fungovalo i v případě, že má existující soubor nastavený atribut jen pro čtení.

--from-to (řetězec) Volitelně určuje zdrojovou cílovou kombinaci. Příklad: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob atd.

-h, --help nápověda k synchronizaci

--include-attributes (řetězec) (Jenom Windows) Zahrnout pouze soubory, jejichž atributy odpovídají seznamu atributů. Příklad: A; S; R

--include-pattern (řetězec) Zahrnout pouze soubory, ve kterých název odpovídá seznamu vzorů. Příklad: .jpg;. Pdf; exactName

--include-regex (řetězec) Zahrňte relativní cestu k souborům, které odpovídají regulárním výrazům. Oddělte regulární výrazy znakem ;.

--log-level (řetězec) Definujte úroveň podrobností protokolu pro soubor protokolu, dostupné úrovně: INFO(všechny požadavky a odpovědi), WARNING(pomalé odpovědi), ERROR(pouze neúspěšné požadavky) a NONE(žádné výstupní protokoly). (výchozí INFORMACE). (výchozí "INFORMACE")

--mirror-mode Pokud je tento příznak nastavený na hodnotu true, zakažte porovnání na základě času poslední změny a přepíše konfliktní soubory a objekty blob v cíli. Výchozí hodnota je false

--put-blob-size-mb Tuto velikost (zadanou v MiB) použijte jako prahovou hodnotu, abyste zjistili, jestli se má při nahrávání do Azure Storage nahrát objekt blob jako jeden požadavek PUT. Výchozí hodnota se automaticky vypočítá na základě velikosti souboru. Desetinné zlomky jsou povolené (například: 0,25).

--preserve-permissions Ve výchozím nastavení je false. Zachovává seznamy ACL mezi prostředky s podporou (Windows a Azure Files nebo ADLS Gen2 až ADLS Gen2) a ADLS Gen2. Pro účty hierarchického oboru názvů budete potřebovat token SAS kontejneru nebo OAuth s oprávněními Změnit vlastnictví a Upravit oprávnění. U stahování budete také potřebovat --backup příznak k obnovení oprávnění, kde nový vlastník nebude uživatelem, na kterém běží AzCopy. Tento příznak platí pro soubory i složky, pokud není zadaný filtr jen pro soubory (například vzorec zahrnutí).

--preserve-smb-info U umístění pracujících s protokolem SMB se příznak ve výchozím nastavení nastaví na true. Zachovává informace o vlastnosti SMB (čas posledního zápisu, čas vytvoření, bity atributů) mezi prostředky pracujícími s protokolem SMB (Soubory Azure). Tento příznak platí pro soubory i složky, pokud není zadaný filtr jen pro soubory (například vzorec zahrnutí). Informace přenášené u složek jsou stejné jako u souborů s výjimkou času posledního zápisu, který se u složek nezachová. (výchozí true)

--put-md5 Vytvořte hodnotu hash MD5 každého souboru a uložte hodnotu hash jako vlastnost Content-MD5 cílového objektu blob nebo souboru. (Ve výchozím nastavení se hodnota hash nevytvořila.) K dispozici pouze při nahrávání.

--recursive Ve výchozím nastavení platí, že při synchronizaci mezi adresáři se rekurzivně podívejte do podadresářů. (výchozí hodnota true). (výchozí true)

--s2s-preserve-access-tier Zachovat úroveň přístupu během kopírování služby do služby. Informace o horké, studené a archivní úrovni přístupu najdete v Azure Blob Storage a ujistěte se, že cílový účet úložiště podporuje nastavení úrovně přístupu. V případech, kdy nastavení úrovně přístupu není podporované, použijte s2sPreserveAccessTier=false k obejití kopírování úrovně přístupu. (výchozí hodnota true). (výchozí true)

--s2s-preserve-blob-tags Zachování značek indexu během synchronizace služby do služby z jednoho úložiště objektů blob do jiného

Možnosti zděděné z nadřazených příkazů

--cap-mbps (float) Limituje přenosovou rychlost v megabitech za sekundu. Propustnost za okamžik se může mírně lišit od limitu. Pokud je tato možnost nastavená na nulu nebo je vynechána, propustnost není omezena.

--output-type (řetězec) Formát výstupu příkazu Mezi tyto volby patří: text, json. Výchozí hodnota je text. (výchozí text)

--trusted-microsoft-suffixes (řetězec) Určuje další přípony domény, ve kterých se můžou odesílat přihlašovací tokeny Microsoft Entra. Výchozí hodnota je .core.windows.net;. core.chinacloudapi.cn;. core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net'. Všechny zde uvedené jsou přidány do výchozího nastavení. Kvůli zabezpečení byste sem měli umístit jenom domény Microsoft Azure. Oddělte více položek středníky.

Viz také