azcopy sync

Hiermee wordt de bronlocatie gerepliceerd naar de doellocatie. Dit artikel bevat een gedetailleerde referentie voor de azcopy-synchronisatieopdracht. Zie Synchroniseren met Azure Blob Storage met azCopy v10 voor meer informatie over het synchroniseren van blobs tussen bron- en doellocaties. Zie Bestanden synchroniseren voor Azure Files.

Samenvatting

De laatst gewijzigde tijden worden gebruikt voor vergelijking. Het bestand wordt overgeslagen als de laatste wijzigingstijd in de bestemming recenter is. U kunt de --compare-hash vlag ook gebruiken om alleen bestanden over te dragen die verschillen in hun MD5-hash. De ondersteunde paren zijn:

  • Lokaal <:> Azure Blob/Azure File (SAS- of OAuth-verificatie kan worden gebruikt)
  • Azure Blob <-> Azure Blob (SAS- of OAuth-verificatie kan worden gebruikt)
  • Azure File -> Azure File <(bron moet een SAS bevatten of openbaar toegankelijk is; SAS-verificatie moet worden gebruikt voor bestemming)
  • Azure Blob <-> Azure File

De synchronisatieopdracht verschilt op verschillende manieren van de kopieeropdracht:

  1. De recursieve vlag is standaard waar en synchronisatie kopieert alle submappen. Synchronisatie kopieert alleen de bestanden op het hoogste niveau in een map als de recursieve vlag onwaar is.
  2. Wanneer u synchroniseert tussen virtuele mappen, voegt u een afsluitende slash toe aan het pad (zie voorbeelden) als er een blob met dezelfde naam is als een van de virtuele mappen.
  3. Als de vlag 'delete-destination' is ingesteld op true of prompt, worden bestanden en blobs verwijderd op de bestemming die niet aanwezig zijn bij de bron.

Richtlijnen

De synchronisatieopdracht vergelijkt standaard bestandsnamen en laatst gewijzigde tijdstempels. U kunt dit gedrag overschrijven om MD5-hashes te gebruiken in plaats van de tijdstempels van de laatste wijziging door de --compare-hash vlag te gebruiken. Stel de --delete-destination optionele vlag in op een waarde van true of prompt om bestanden in de doelmap te verwijderen als deze bestanden niet meer in de bronmap voorkomen.

  • Als u de --delete-destination vlag trueinstelt op , verwijdert AzCopy bestanden zonder een prompt op te geven. Als u een prompt wilt weergeven voordat AzCopy een bestand verwijdert, stelt u de --delete-destination vlag in op prompt.

  • Als u van plan bent de --delete-destination vlag prompt in te stellen op of false, kunt u overwegen de kopieeropdracht te gebruiken in plaats van de synchronisatieopdracht en de --overwrite parameter in te stellen op ifSourceNewer. De kopieeropdracht verbruikt minder geheugen en kost minder factureringskosten omdat een kopieerbewerking de bron of het doel niet hoeft te indexeren voordat u bestanden verplaatst.

  • Als u niet van plan bent om de --compare-hash vlag te gebruiken, moet de computer waarop u de synchronisatieopdracht uitvoert een nauwkeurige systeemklok hebben omdat de laatst gewijzigde tijden essentieel zijn om te bepalen of een bestand moet worden overgedragen. Als uw systeem aanzienlijke scheeftrekken van de klok heeft, vermijdt u het wijzigen van bestanden op de bestemming te dicht bij het tijdstip waarop u een synchronisatieopdracht wilt uitvoeren.

  • AzCopy maakt gebruik van server-naar-server-API's om gegevens tussen opslagaccounts te synchroniseren. Dat betekent dat gegevens rechtstreeks tussen opslagservers worden gekopieerd. AzCopy stelt echter elke overdracht in en controleert deze, en voor grotere opslagaccounts (bijvoorbeeld accounts die miljoenen blobs bevatten), kan AzCopy een aanzienlijke hoeveelheid rekenresources vereisen om deze taken uit te voeren. Als u AzCopy uitvoert vanaf een virtuele machine (VM), moet u ervoor zorgen dat de VIRTUELE machine voldoende kernen/geheugen heeft om de belasting te verwerken.

  • Voor Blob Storage kunt u onbedoelde verwijderingen voorkomen door ervoor te zorgen dat u de functie voor voorlopig verwijderen inschakelt voordat u de --delete-destination=prompt|true vlag gebruikt.

Geavanceerd

Als u geen bestandsextensie opgeeft, detecteert AzCopy automatisch het inhoudstype van de bestanden bij het uploaden vanaf de lokale schijf, op basis van de bestandsextensie of inhoud.

De ingebouwde opzoektabel is klein, maar op Unix wordt deze uitgebreid door de mime.types-bestanden van het lokale systeem, indien beschikbaar onder een of meer van deze namen:

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

In Windows worden MIME-typen uit het register geëxtraheerd.

Synchronisatie werkt standaard buiten de laatst gewijzigde tijden, tenzij u dit standaardgedrag overschrijft met behulp van de --compare-hash vlag. In het geval van Azure File <-> Azure File wordt het koptekstveld Laatst gewijzigd gebruikt in plaats van x-ms-file-change-time, wat betekent dat metagegevenswijzigingen bij de bron ook een volledige kopie kunnen activeren.

azcopy sync [flags]

Voorbeelden

Een enkel bestand synchroniseren:

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

Hetzelfde als hierboven, maar ook een MD5-hash van de bestandsinhoud berekent en die MD5-hash vervolgens opslaat als de eigenschap Content-MD5 van de blob.

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

Synchroniseer een volledige map met de bijbehorende submappen (houd er rekening mee dat recursief standaard is ingeschakeld):

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

Alleen de bestanden in een map synchroniseren, maar niet submappen of de bestanden in submappen:

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

Synchroniseer een subset van bestanden in een map (bijvoorbeeld: alleen jpg- en PDF-bestanden, of als de bestandsnaam 'exactName' is):

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

Synchroniseer een hele map, maar sluit bepaalde bestanden uit van het bereik (bijvoorbeeld: elk bestand dat begint met foo of eindigt met balk):

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

Een enkele blob synchroniseren:

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

Een virtuele map synchroniseren:

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

Synchroniseer een virtuele map die dezelfde naam heeft als een blob (voeg een afsluitende slash toe aan het pad om ondubbelzinnig te zijn):

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

Een Azure File-map synchroniseren (dezelfde syntaxis als 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

Opmerking: als markeringen voor opnemen en uitsluiten samen worden gebruikt, worden alleen bestanden gebruikt die overeenkomen met de insluitingspatronen, maar die overeenkomen met de uitsluitingspatronen worden genegeerd.

Opties

--block-size-mb (float) Gebruik deze blokgrootte (opgegeven in MiB) bij het uploaden naar Azure Storage of downloaden van Azure Storage. De standaardwaarde wordt automatisch berekend op basis van de bestandsgrootte. Decimale breuken zijn toegestaan (bijvoorbeeld: 0,25). Bij het uploaden of downloaden is de maximaal toegestane blokgrootte 0,75 * AZCOPY_BUFFER_GB. Zie Geheugengebruik optimaliseren voor meer informatie.

--check-md5 (tekenreeks) Hiermee geeft u op hoe strikt MD5-hashes moeten worden gevalideerd bij het downloaden. Deze optie is alleen beschikbaar bij het downloaden. Beschikbare waarden zijn: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (standaard 'FailIfDifferent'). (standaard "FailIfDifferent")

--cpk-by-name (tekenreeks) Door de client opgegeven sleutel op naam kunnen clients die aanvragen indienen voor Azure Blob Storage een optie voor het opgeven van een versleutelingssleutel per aanvraag. De opgegeven sleutelnaam wordt opgehaald uit Azure Key Vault en wordt gebruikt om de gegevens te versleutelen

--cpk-by-value Door de client opgegeven sleutel op naam kunnen clients die aanvragen indienen voor Azure Blob Storage een optie voor het opgeven van een versleutelingssleutel per aanvraag. De opgegeven sleutel en de hash worden opgehaald uit omgevingsvariabelen

--delete-destination (tekenreeks) Hiermee definieert u of u extra bestanden wilt verwijderen uit de bestemming die niet aanwezig zijn op de bron. Kan worden ingesteld op waar, onwaar of prompt. Als deze optie is ingesteld op vragen, wordt de gebruiker een vraag gesteld voordat hij bestanden en blobs plant voor verwijdering. (standaard 'false'). (standaard 'false')

--dry-run Hiermee wordt het pad afgedrukt naar bestanden die door de synchronisatieopdracht worden gekopieerd of verwijderd. Met deze vlag worden de werkelijke bestanden niet gekopieerd of verwijderd.

--exclude-attributes (tekenreeks) (alleen Windows) Sluit bestanden uit waarvan de kenmerken overeenkomen met de kenmerkenlijst. Bijvoorbeeld: A; S; R

--exclude-path (tekenreeks) Sluit deze paden uit wanneer u de bron vergelijkt met de bestemming. Deze optie biedt geen ondersteuning voor jokertekens (*). Controleert het relatieve padvoorvoegsel (bijvoorbeeld: myFolder; myFolder/subDirName/file.pdf).

--exclude-pattern (tekenreeks) Sluit bestanden uit waarbij de naam overeenkomt met de patroonlijst. Bijvoorbeeld: .jpg;. Pdf; exactName

--exclude-regex (tekenreeks) Sluit het relatieve pad uit van de bestanden die overeenkomen met de reguliere expressies. Scheid reguliere expressies met ';'.

--force-if-read-only Wanneer u een bestaand bestand in Windows of Azure Files overschrijft, moet u afdwingen dat het overschrijven werkt, zelfs als het bestaande bestand het kenmerk Alleen-lezen heeft ingesteld.

--from-to (tekenreeks) Hiermee geeft u desgewenst de combinatie van de bronbestemming op. Bijvoorbeeld: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob, enzovoort.

-h, --help help voor synchronisatie

--include-attributes (tekenreeks) (alleen Windows) Alleen bestanden opnemen waarvan de kenmerken overeenkomen met de kenmerkenlijst. Bijvoorbeeld: A; S; R

--include-pattern (tekenreeks) Neem alleen bestanden op waarbij de naam overeenkomt met de patroonlijst. Bijvoorbeeld: .jpg;. Pdf; exactName

--include-regex (tekenreeks) Neem het relatieve pad op van de bestanden die overeenkomen met de reguliere expressies. Scheid reguliere expressies met ';'.

--log-level (tekenreeks) Definieer de uitgebreidheid van het logboekbestand, beschikbare niveaus: INFO(alle aanvragen en antwoorden), WAARSCHUWING(trage antwoorden), ERROR(alleen mislukte aanvragen) en NONE(geen uitvoerlogboeken). (standaardINFORMATIE). (standaard "INFO")

--mirror-mode Schakel de vergelijking op basis van de laatst gewijzigde tijd uit en overschrijft de conflicterende bestanden en blobs op de bestemming als deze vlag is ingesteld op waar. De standaardwaarde is onwaar

--put-blob-size-mb Gebruik deze grootte (opgegeven in MiB) als drempelwaarde om te bepalen of een blob moet worden geüpload als één PUT-aanvraag bij het uploaden naar Azure Storage. De standaardwaarde wordt automatisch berekend op basis van de bestandsgrootte. Decimale breuken zijn toegestaan (bijvoorbeeld: 0,25).

--preserve-permissions Standaard onwaar. Behoudt ACL's tussen bewuste resources (Windows en Azure Files, of ADLS Gen 2 tot ADLS Gen 2). Voor hiërarchische naamruimteaccounts hebt u een container-SAS of OAuth-token nodig met de machtigingen Eigendom wijzigen en Machtigingen wijzigen. Voor downloads hebt u ook de --backup vlag nodig om machtigingen te herstellen waarbij de nieuwe eigenaar niet de gebruiker is die AzCopy uitvoert. Deze vlag is van toepassing op zowel bestanden als mappen, tenzij er een alleen-bestandfilter is opgegeven (bijvoorbeeld include-pattern).

--preserve-smb-info Voor SMB-compatibele locaties wordt de vlag standaard ingesteld op true. Behoudt informatie over SMB-eigenschappen (laatste schrijftijd, aanmaaktijd, kenmerk-bits) tussen SMB-compatibele resources (Azure Files). Deze vlag is van toepassing op zowel bestanden als mappen, tenzij er een alleen-bestandfilter is opgegeven (bijvoorbeeld include-pattern). De informatie die voor mappen wordt overgebracht, is hetzelfde als voor bestanden, met uitzondering van de laatste schrijftijd die niet voor mappen behouden blijft. (standaard true)

--put-md5 Maak een MD5-hash van elk bestand en sla de hash op als de eigenschap Content-MD5 van de doel-blob of het doelbestand. (Standaard wordt de hash NIET gemaakt.) Alleen beschikbaar bij het uploaden.

--recursive Waar is standaard, kijk recursief naar submappen bij het synchroniseren tussen mappen. (standaard true). (standaard true)

--s2s-preserve-access-tier Behoud de toegangslaag tijdens service-naar-servicekopie. Raadpleeg Azure Blob Storage: dynamische, statische en archieftoegangslagen om ervoor te zorgen dat het doelopslagaccount ondersteuning biedt voor het instellen van de toegangslaag. In de gevallen waarin het instellen van de toegangslaag niet wordt ondersteund, kunt u het s2sPreserveAccessTier=false kopiëren van de toegangslaag overslaan. (standaard true). (standaard true)

--s2s-preserve-blob-tags Indextags behouden tijdens service-naar-servicesynchronisatie van de ene blobopslag naar een andere

Opties overgenomen van bovenliggende opdrachten

--cap-mbps (float) Caps the transfer rate, in megabits per seconde. De doorvoer per moment kan enigszins afwijken van de limiet. Als deze optie is ingesteld op nul of wordt weggelaten, wordt de doorvoer niet beperkt.

--output-type (tekenreeks) Indeling van de uitvoer van de opdracht. De opties zijn onder andere: tekst, json. De standaardwaarde is 'tekst'. (standaardtekst)

--trusted-microsoft-suffixes (tekenreeks) Hiermee geeft u andere domeinachtervoegsels op waarbij Microsoft Entra-aanmeldingstokens kunnen worden verzonden. De standaardwaarde is .core.windows.net;. core.chinacloudapi.cn;. core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net'. Alle hier vermelde vermeldingen worden toegevoegd aan de standaardwaarde. Voor beveiliging moet u alleen Microsoft Azure-domeinen hier plaatsen. Scheid meerdere vermeldingen met puntkomma's.

Zie ook