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.
Notitie
AzCopy biedt geen ondersteuning voor scenario's waarbij de bron of bestemming actief wordt gewijzigd tijdens de overdracht.
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:
- 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.
- 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.
- 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
vlagtrue
instelt 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 opprompt
.Als u van plan bent de
--delete-destination
vlagprompt
in te stellen op offalse
, kunt u overwegen de kopieeropdracht te gebruiken in plaats van de synchronisatieopdracht en de--overwrite
parameter in te stellen opifSourceNewer
. 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]
Verwante conceptuele artikelen
- Aan de slag met AzCopy
- Gegevens overdragen met AzCopy en Blob Storage
- Gegevens overdragen met AzCopy en bestandsopslag
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")
--compare-hash
(tekenreeks) Informeer synchronisatie om te vertrouwen op hashes als alternatief voor de laatste wijzigingstijd (LMT). Ontbrekende hashes bij een externe bron veroorzaken een fout. (Geen, MD5) Standaard: Geen (standaard 'Geen')
--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 ';'.
--hash-meta-dir
Wanneer u dit gebruikt --local-hash-storage-mode=HiddenFiles
, kunt u een alternatieve map opgeven waarin hashmetagegevensbestanden moeten worden opgeslagen (in plaats van naast de gerelateerde bestanden in de bron).
--local-hash-storage-mode
Geef een alternatieve manier op om bestands-hashes in de cache op te slaan. Geldige opties zijn: HiddenFiles (OS Agnostic)
, (vereist user_xattr
voor alle bestandssystemen die door de bron zijn gekruist), AlternateDataStreams
(alleen Windows vereist benoemde streams op XAttr (Linux/MacOS only
het doelvolume).
--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-posix-properties-
Standaard onwaar. Preserves
eigenschapsgegevens die zijn verzameld van stat of statx in objectmetagegevens.
--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
--trailing-dot
Standaard is ingeschakeld om bestandssharebewerkingen op een veilige manier te behandelen. Beschikbare opties: Enable
, Disable
. Kies ervoor Disable
om terug te gaan naar verouderde (mogelijk onveilige) behandeling van afsluitende dot-bestanden waar de bestandsservice eventuele volgpunten in paden zal knippen. Dit kan leiden tot mogelijke beschadiging van gegevens als de overdracht twee paden bevat die alleen verschillen met een volgpunt (bijvoorbeeld mypath
en mypath.
). Als deze vlag is ingesteld op Disable
en AzCopy een volgpuntbestand tegenkomt, worden klanten in het scanlogboek gewaarschuwd, maar wordt de bewerking niet afgebroken. Als de bestemming geen ondersteuning biedt voor volgpuntbestanden (Windows of Blob Storage), mislukt AzCopy als het afsluitende puntbestand de hoofdmap van de overdracht is en eventuele volgpuntpaden die tijdens de inventarisatie zijn aangetroffen, overslaan.
Opties overgenomen van bovenliggende opdrachten
--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")
--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.