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:
- 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.
- 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.
- 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
true
tar 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 tillprompt
.Om du planerar att ange
--delete-destination
flaggan till ellerfalse
kan du överväga attprompt
använda kopieringskommandot i stället för synkroniseringskommandot och ange parametern--overwrite
tillifSourceNewer
. 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]
Relaterade konceptuella artiklar
- Kom igång med AzCopy
- Överföra data med AzCopy och Blob Storage
- Överföra data med AzCopy och fillagring
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=HiddenFiles
kan 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.