Dela via


azcopy synkronisering

Replikerar källplatsen till målplatsen. Den här artikeln innehåller en detaljerad referens för kommandot azcopy sync. Mer information om hur du synkroniserar blobar mellan käll- och målplatser finns i Synkronisera med Azure Blob Storage med hjälp av AzCopy v10. Information om Azure Files finns i Synkronisera filer.

Kommentar

AzCopy stöder inte scenarier där källan eller målet ändras aktivt under överföringen.

Sammanfattning

De senaste ändrade tiderna används för jämförelse. Filen hoppas över om den senaste ändrade tiden i målet är nyare. Du kan också använda --compare-hash flaggan för att endast överföra filer som skiljer sig åt i deras MD5-hash. De par som stöds är:

  • Lokal <–> Azure Blob/Azure File (sas- eller OAuth-autentisering kan användas)
  • Azure Blob <–> Azure Blob (antingen SAS- eller OAuth-autentisering kan användas)
  • Azure File <–> Azure File (källan måste innehålla en SAS eller vara offentligt tillgänglig; SAS-autentisering bör användas för målet)
  • Azure Blob <–> Azure-fil

Synkroniseringskommandot skiljer sig från kopieringskommandot på flera sätt:

  1. Som standard är den rekursiva flaggan sann och synkroniseringen kopierar alla underkataloger. Sync kopierar endast filerna på den översta nivån i en katalog om den rekursiva flaggan är falsk.
  2. När du synkroniserar mellan virtuella kataloger lägger du till ett avslutande snedstreck i sökvägen (se exempel) om det finns en blob med samma namn som en av de virtuella katalogerna.
  3. Om flaggan "delete-destination" är inställd på true eller prompt tar synkroniseringen bort filer och blobbar på det mål som inte finns i källan.

Riktlinjer

Som standard jämför synkroniseringskommandot filnamn och senast ändrade tidsstämplar. Du kan åsidosätta det beteendet för att använda MD5-hashar i stället för senast ändrade tidsstämplar med hjälp --compare-hash av flaggan. Ange den --delete-destination valfria flaggan till ett värde för true eller prompt för att ta bort filer i målkatalogen om filerna inte längre finns i källkatalogen.

  • Om du ställer in flaggan på --delete-destination truetar AzCopy bort filer utan att fråga. Om du vill att en fråga ska visas innan AzCopy tar bort en fil anger du --delete-destination flaggan till prompt.

  • Om du planerar att ange --delete-destination flaggan till eller falsekan du överväga att prompt använda kopieringskommandot i stället för synkroniseringskommandot och ange parametern --overwrite till ifSourceNewer. Kopieringskommandot förbrukar mindre minne och medför mindre faktureringskostnader eftersom en kopieringsåtgärd inte behöver indexering av källan eller målet innan filerna flyttas.

  • Om du inte planerar att använda --compare-hash flaggan bör datorn där du kör synkroniseringskommandot ha en korrekt systemklocka eftersom de senaste ändrade tiderna är viktiga för att avgöra om en fil ska överföras. Om systemet har betydande klocksnedvridning bör du undvika att ändra filer på målet för nära den tid som du planerar att köra ett synkroniseringskommando.

  • AzCopy använder API:er från server till server för att synkronisera data mellan lagringskonton. Det innebär att data kopieras direkt mellan lagringsservrar. AzCopy konfigurerar och övervakar dock varje överföring, och för större lagringskonton (till exempel konton som innehåller miljontals blobar) kan AzCopy kräva en betydande mängd beräkningsresurser för att utföra dessa uppgifter. Om du kör AzCopy från en virtuell dator kontrollerar du därför att den virtuella datorn har tillräckligt med kärnor/minne för att hantera belastningen.

  • För Blob Storage kan du förhindra oavsiktliga borttagningar genom att aktivera funktionen för mjuk borttagning innan du använder --delete-destination=prompt|true flaggan.

Avancerad

Observera att om du inte anger ett filnamnstillägg identifierar AzCopy automatiskt innehållstypen för filerna när de laddas upp från den lokala disken, baserat på filtillägget eller innehållet.

Den inbyggda uppslagstabellen är liten, men i Unix utökas den av det lokala systemets mime.types-fil(er) om den är tillgänglig under ett eller flera av dessa namn:

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

I Windows extraheras MIME-typer från registret.

Som standard fungerar synkroniseringen av de senaste ändrade tiderna om du inte åsidosätter det standardbeteendet med hjälp --compare-hash av flaggan. När det gäller Azure File <–> Azure File används rubrikfältet Senast ändrad i stället för x-ms-file-change-time, vilket innebär att metadataändringar vid källan också kan utlösa en fullständig kopia.

azcopy sync [flags]

Exempel

Synkronisera en enskild fil:

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

Samma som ovan, men även beräkna en MD5-hash för filinnehållet och spara sedan md5-hashen som blobens Content-MD5-egenskap.

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

Synkronisera en hel katalog med dess underkataloger (observera att rekursiv är som standard på):

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

Synkronisera endast filerna i en katalog men inte underkataloger eller filerna inuti underkataloger:

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

Synkronisera en delmängd av filer i en katalog (till exempel endast jpg- och pdf-filer, eller om filnamnet är "exactName"):

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

Synkronisera en hel katalog men exkludera vissa filer från omfånget (till exempel varje fil som börjar med foo eller slutar med stapel):

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

Synkronisera en enskild blob:

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

Synkronisera en virtuell katalog:

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

Synkronisera en virtuell katalog som har samma namn som en blob (lägg till ett avslutande snedstreck i sökvägen för att skilja sig åt):

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

Synkronisera en Azure File-katalog (samma syntax som 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

Obs! Om inkludera och exkludera flaggor används tillsammans används endast filer som matchar inkluderingsmönstren, men de som matchar exkluderingsmönstren ignoreras.

Alternativ

--block-size-mb (flyttal) Använd den här blockstorleken (anges i MiB) när du laddar upp till Azure Storage eller laddar ned från Azure Storage. Standardvärdet beräknas automatiskt baserat på filstorleken. Decimaltal tillåts (till exempel 0,25). När du laddar upp eller laddar ned är den maximala tillåtna blockstorleken 0,75 * AZCOPY_BUFFER_GB. Mer information finns i Optimera minnesanvändning.

--check-md5 (sträng) Anger hur strikt MD5-hashvärden ska verifieras vid nedladdning. Det här alternativet är endast tillgängligt när du laddar ned. Tillgängliga värden är: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (standard 'FailIfDifferent'). (standard "FailIfDifferent")

--compare-hash (sträng) Informera synkroniseringen om att förlita sig på hashvärden som ett alternativ till LMT (Last Modified Time). Hashvärden som saknas på en fjärrkälla utlöser ett fel. (Ingen, MD5) Standard: Ingen (standard "Ingen")

--cpk-by-name (sträng) Med klientens tillhandahållna nyckel efter namn kan klienter som gör begäranden mot Azure Blob Storage ange en krypteringsnyckel per begäran. Det angivna nyckelnamnet hämtas från Azure Key Vault och används för att kryptera data

--cpk-by-value Med klientens tillhandahållna nyckel efter namn kan klienter som gör begäranden mot Azure Blob Storage ange en krypteringsnyckel per begäran. Den tillhandahållna nyckeln och dess hash hämtas från miljövariabler

--delete-destination (sträng) Definierar om du vill ta bort extra filer från målet som inte finns i källan. Kan anges till sant, falskt eller fråga. Om inställningen är inställd på att fråga får användaren en fråga innan han eller hon schemalägger filer och blobbar för borttagning. (standard "false"). (standard "false")

--dry-run Skriver ut sökvägen till filer som skulle kopieras eller tas bort av synkroniseringskommandot. Den här flaggan kopierar eller tar inte bort de faktiska filerna.

--exclude-attributes (sträng) (Endast Windows) Undanta filer vars attribut matchar attributlistan. Till exempel: A; S; R

--exclude-path (sträng) Undanta dessa sökvägar när du jämför källan med målet. Det här alternativet stöder inte jokertecken (*). Kontrollerar prefix för relativ sökväg(Till exempel: myFolder; myFolder/subDirName/file.pdf).

--exclude-pattern (sträng) Exkludera filer där namnet matchar mönsterlistan. Till exempel: .jpg;. PDF; exactName

--exclude-regex (sträng) Undanta den relativa sökvägen för de filer som matchar de reguljära uttrycken. Avgränsa reguljära uttryck med ';'.

--force-if-read-only När du skriver över en befintlig fil i Windows eller Azure Files tvingar du överskrivningen att fungera även om den befintliga filen har en skrivskyddad attributuppsättning.

--from-to (sträng) Du kan också ange källmålkombinationen. Exempel: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob osv.

-h, --help hjälp för synkronisering

--include-attributes (sträng) (Endast Windows) Inkludera endast filer vars attribut matchar attributlistan. Till exempel: A; S; R

--include-pattern (sträng) Inkludera endast filer där namnet matchar mönsterlistan. Till exempel: .jpg;. PDF; exactName

--include-regex (sträng) Inkludera den relativa sökvägen för de filer som matchar de reguljära uttrycken. Avgränsa reguljära uttryck med ';'.

--hash-meta-dir När du använder --local-hash-storage-mode=HiddenFileskan du ange en alternativ katalog för att lagra hash-metadatafiler i (i stället för bredvid de relaterade filerna i källan).

--local-hash-storage-mode Ange ett alternativt sätt att cachelagrar filhashvärden. Giltiga alternativ är: HiddenFiles (OS Agnostic), XAttr (Linux/MacOS only (kräver user_xattr på alla filsystem som har passerat källan), AlternateDataStreams (endast Windows kräver namngivna strömmar på målvolymen).

--mirror-mode Inaktivera senast ändrad tidsbaserad jämförelse och skriver över de filer och blobar som står i konflikt på målet om den här flaggan är inställd på true. Standardvärdet är falskt

--put-blob-size-mb Använd den här storleken (anges i MiB) som ett tröskelvärde för att avgöra om en blob ska laddas upp som en enda PUT-begäran vid uppladdning till Azure Storage. Standardvärdet beräknas automatiskt baserat på filstorleken. Decimaltal tillåts (till exempel 0,25).

--preserve-permissions Falskt som standard. Bevarar ACL:er mellan medvetna resurser (Windows och Azure Files eller ADLS Gen 2 till ADLS Gen 2). För hierarkiska namnområdeskonton behöver du en container-SAS- eller OAuth-token med behörigheterna Ändra ägarskap och Ändra behörigheter. För nedladdningar behöver --backup du också flaggan för att återställa behörigheter där den nya ägaren inte är den användare som kör AzCopy. Den här flaggan gäller både filer och mappar, såvida inte ett filfilter har angetts (till exempel include-pattern).

--preserve-posix-properties- Falskt som standard. Preserves egenskapsinformation som hämtats från stat eller statx till objektmetadata.

--preserve-smb-info För SMB-medvetna platser anges flaggan till true som standard. Bevarar SMB-egenskapsinformation (senaste skrivtid, skapandetid, attributbitar) mellan SMB-medvetna resurser (Azure Files). Den här flaggan gäller både filer och mappar, såvida inte ett filfilter har angetts (till exempel include-pattern). Den information som överförs för mappar är densamma som för filer, förutom senaste skrivtid som inte bevaras för mappar. (standard sant)

--put-md5 Skapa en MD5-hash för varje fil och spara hash-filen som egenskapen Content-MD5 för målbloben eller -filen. (Som standard skapas inte hash-filen.) Endast tillgängligt vid uppladdning.

--recursive Sant som standard, titta på underkataloger rekursivt när du synkroniserar mellan kataloger. (standard sant). (standard sant)

--s2s-preserve-access-tier Bevara åtkomstnivån under tjänst-till-tjänst-kopiering. Se Azure Blob Storage: frekvent, lågfrekvent och arkivera åtkomstnivåer för att säkerställa att mållagringskontot stöder inställning av åtkomstnivå. I de fall som inställningen av åtkomstnivå inte stöds kan du använda s2sPreserveAccessTier=false för att kringgå kopiering av åtkomstnivå. (standard sant). (standard sant)

--s2s-preserve-blob-tags Bevara indextaggar under tjänst-till-tjänst-synkronisering från en bloblagring till en annan

--trailing-dot Aktiverad som standard för att hantera filresursrelaterade åtgärder på ett säkert sätt. Tillgängliga alternativ: Enable, Disable. Välj Disable att gå tillbaka till äldre (potentiellt osäkra) behandling av avslutande punktfiler där filtjänsten trimmar eventuella avslutande punkter i sökvägar. Detta kan leda till potentiell dataskada om överföringen innehåller två sökvägar som endast skiljer sig åt med en avslutande punkt (till exempel mypath och mypath.). Om den här flaggan är inställd på Disable och AzCopy stöter på en avslutande punktfil varnar den kunder i genomsökningsloggen men försöker inte avbryta åtgärden. Om målet inte stöder avslutande punktfiler (Windows eller Blob Storage) misslyckas AzCopy om den avslutande punktfilen är roten för överföringen och hoppar över eventuella avslutande punktsökvägar som påträffas under uppräkningen.

Alternativ som ärvs från överordnade kommandon

--log-level (sträng) Definiera loggverositeten för loggfilen, tillgängliga nivåer: INFO(alla begäranden och svar), WARNING(långsamma svar), ERROR(endast misslyckade begäranden) och NONE(inga utdataloggar). (standardinformation). (standard "INFO")

--cap-mbps (flyttal) Begränsar överföringshastigheten, i megabitar per sekund. Dataflödet ögonblick för ögonblick kan variera något från taket. Om det här alternativet är inställt på noll, eller om det utelämnas, begränsas inte dataflödet.

--output-type (sträng) Format för kommandots utdata. Alternativen är: text, json. Standardvärdet är "text". (standardtext)

--trusted-microsoft-suffixes (sträng) Anger andra domänsuffix där Microsoft Entra-inloggningstoken kan skickas. Standardvärdet är '.core.windows.net;. core.chinacloudapi.cn;. core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net'. Alla som anges här läggs till i standardinställningen. För säkerhet bör du bara placera Microsoft Azure-domäner här. Avgränsa flera poster med semikolon.

Se även