azcopy sync
Replikálja a forráshelyet a célhelyre. Ez a cikk részletesen ismerteti az azcopy sync parancsot. Ha többet szeretne megtudni a blobok forrás- és célhelyek közötti szinkronizálásáról, olvassa el a Szinkronizálás az Azure Blob Storage-tal az AzCopy v10 használatával című témakört. Az Azure Files esetében lásd a Fájlok szinkronizálása című témakört.
Feljegyzés
Az AzCopy nem támogatja azokat a forgatókönyveket, ahol a forrás vagy a cél aktívan módosul az átvitel során.
Szinopszis
A rendszer az utolsó módosított időpontokat használja az összehasonlításhoz. A program kihagyja a fájlt, ha a célhely utolsó módosítási ideje újabb. Másik lehetőségként a jelölő használatával csak az --compare-hash
MD5 kivonatban eltérő fájlokat továbbíthatja. A támogatott párok a következők:
- Helyi <–> Azure Blob/Azure-fájl (SAS- vagy OAuth-hitelesítés is használható)
- Azure Blob <–> Azure Blob (SAS- vagy OAuth-hitelesítés is használható)
- Azure File <–> Azure File (a forrásnak SAS-t kell tartalmaznia, vagy nyilvánosan elérhető; SAS-hitelesítést kell használni a célhelyhez)
- Azure Blob <–> Azure-fájl
A szinkronizálási parancs többféleképpen különbözik a másolási parancstól:
- Alapértelmezés szerint a rekurzív jelző igaz, és a szinkronizálás az összes alkönyvtárat átmásolja. A szinkronizálás csak a legfelső szintű fájlokat másolja egy könyvtárba, ha a rekurzív jelző hamis.
- A virtuális könyvtárak közötti szinkronizáláskor adjon hozzá egy záró perjelet az elérési úthoz (tekintse meg a példákat), ha egy olyan blob van, amelynek a neve megegyezik az egyik virtuális könyvtár nevével.
- Ha a "delete-destination" jelző értéke true (igaz) vagy "prompt", akkor a szinkronizálás törli a forrásnál nem található fájlokat és blobokat a célhelyen.
Irányelvek
Alapértelmezés szerint a szinkronizálási parancs összehasonlítja a fájlneveket és a legutóbb módosított időbélyegeket. Ezt a viselkedést felülbírálhatja úgy, hogy az utolsó módosított időbélyegek helyett MD5-kivonatokat használjon a --compare-hash
jelölő használatával. Állítsa az --delete-destination
opcionális jelzőt a célkönyvtárban lévő fájlok értékére true
vagy prompt
törlésére, ha ezek a fájlok már nem léteznek a forráskönyvtárban.
Ha a jelzőt úgy állítja be, hogy
true
az--delete-destination
AzCopy kérés nélkül törli a fájlokat. Ha azt szeretné, hogy egy üzenet jelenjen meg, mielőtt az AzCopy töröl egy fájlt, állítsa a jelölőt a--delete-destination
következőreprompt
: .Ha azt tervezi, hogy a jelölőt
prompt
false
--delete-destination
a szinkronizálási parancs helyett a másolási parancsot használja, és állítsa a paramétert a--overwrite
következőreifSourceNewer
: . A másolási parancs kevesebb memóriát használ fel, és kevesebb számlázási költséget eredményez, mivel a másolási műveletnek nem kell indexelnie a forrást vagy a célhelyet a fájlok áthelyezése előtt.Ha nem tervezi használni a
--compare-hash
jelölőt, akkor a szinkronizálási parancsot futtató gépnek pontos rendszerórával kell rendelkeznie, mivel az utolsó módosítási időpontok kritikus fontosságúak annak meghatározásához, hogy át kell-e vinni egy fájlt. Ha a rendszer óraátállítása jelentős, ne módosítsa a fájlokat a célhelyen túl közel ahhoz az időponthoz, amikor szinkronizálási parancsot szeretne futtatni.Az AzCopy kiszolgálóról kiszolgálóra történő API-kat használ az adatok tárfiókok közötti szinkronizálására. Ez azt jelenti, hogy az adatok másolása közvetlenül a tárolókiszolgálók között történik. Az AzCopy azonban beállítja és figyeli az egyes átviteleket, és nagyobb tárfiókok (például több millió blobot tartalmazó fiókok) esetében az AzCopy jelentős mennyiségű számítási erőforrást igényelhet ezeknek a feladatoknak a elvégzéséhez. Ezért ha az AzCopyt virtuális gépről (VM) futtatja, győződjön meg arról, hogy a virtuális gép elegendő maggal/memóriával rendelkezik a terhelés kezeléséhez.
- Blob Storage esetén megelőzheti a véletlen törléseket, ha a jelölő használata
--delete-destination=prompt|true
előtt engedélyezi a helyreállítható törlés funkciót.
Felsőfokú
Vegye figyelembe, hogy ha nem ad meg fájlkiterjesztést, az AzCopy automatikusan észleli a fájlok tartalomtípusát a helyi lemezről való feltöltéskor a fájlkiterjesztés vagy a tartalom alapján.
A beépített keresési tábla kicsi, de Unix esetén a helyi rendszer mime.types fájl(ok) bővíti, ha egy vagy több ilyen név alatt elérhető:
- /etc/mime.types
- /etc/apache2/mime.types
- /etc/apache/mime.types
Windows rendszeren a RENDSZER kinyeri a MIME-típusokat a beállításjegyzékből.
Alapértelmezés szerint a szinkronizálás az utolsó módosított időpontokban működik, hacsak nem bírálja felül ezt az alapértelmezett viselkedést a --compare-hash
jelölő használatával. Az Azure File <–> Azure File esetében tehát az x-ms-file-change-time helyett a Last-Modified fejlécmezőt használja a rendszer, ami azt jelenti, hogy a forrás metaadatainak módosítása teljes másolatot is aktiválhat.
azcopy sync [flags]
Kapcsolódó elméleti cikkek
- Bevezetés az AzCopy használatába
- Adatok átvitele az AzCopy és a Blob Storage használatával
- Adatok átvitele az AzCopy használatával és fájltárolás
Példák
Egyetlen fájl szinkronizálása:
azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"
A fentiekhez hasonlóan, de számítson ki egy MD5 kivonatot a fájl tartalmáról, majd mentse az MD5 kivonatot a blob Content-MD5 tulajdonságaként.
azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" --put-md5
Egy teljes könyvtár szinkronizálása az alkönyvtárakkal együtt (vegye figyelembe, hogy a rekurzív alapértelmezés szerint be van kapcsolva):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]"
vagy azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --put-md5
Csak a könyvtáron belüli fájlokat szinkronizálja, alkönyvtárakat és alkönyvtárakon belüli fájlokat nem:
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false
Fájlok egy részhalmazának szinkronizálása egy könyvtárban (például csak jpg- és pdf-fájlok, vagy ha a fájl neve "exactName"):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --include-pattern="*.jpg;*.pdf;exactName"
Egy teljes könyvtár szinkronizálása, de bizonyos fájlok kizárása a hatókörből (például minden olyan fájl, amely foo-val kezdődik vagy sávdal végződik):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --exclude-pattern="foo*;*bar"
Egyetlen blob szinkronizálása:
azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"
Virtuális könyvtár szinkronizálása:
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
Szinkronizáljon egy blob nevével megegyező nevű virtuális könyvtárat (a egyértelműség érdekében adjon hozzá egy záró perjelet az elérési úthoz):
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
Azure File-címtár szinkronizálása (a Blob szintaxisa megegyezik):
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
Megjegyzés: ha együtt használják a belefoglalási és kizárási jelölőket, a rendszer csak a belefoglalási mintákkal egyező fájlokat használja, a kizárási mintáknak megfelelőket azonban figyelmen kívül hagyja.
Beállítások
--block-size-mb
(lebegőpontos) Használja ezt a blokkméretet (a MiB-ben megadva) az Azure Storage-ba való feltöltéskor vagy az Azure Storage-ból való letöltéskor. A rendszer automatikusan kiszámítja az alapértelmezett értéket a fájlméret alapján. Tizedes törtek megengedettek (például: 0,25). Feltöltéskor vagy letöltéskor a maximálisan engedélyezett blokkméret 0,75 * AZCOPY_BUFFER_GB. További információ: Memóriahasználat optimalizálása.
--check-md5
(sztring) Meghatározza, hogy a letöltéskor milyen szigorúan érvényesíteni kell az MD5-kivonatokat. Ez a lehetőség csak letöltéskor érhető el. Az elérhető értékek a következők: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (alapértelmezett "FailIfDifferent"). (alapértelmezett "FailIfDifferent")
--compare-hash
(sztring) Tájékoztassa a szinkronizálást, hogy a kivonatokra támaszkodjon a Legutóbbi módosítás időpontja (LMT) alternatívaként. Egy távoli forrás hiányzó kivonatai hibát jeleznek. (Nincs, MD5) Alapértelmezett: Nincs (alapértelmezett "Nincs")
--cpk-by-name
(sztring) Az ügyfél által megadott név alapján megadott kulcs lehetővé teszi az Azure Blob Storage-ra irányuló kéréseket intéző ügyfelek számára, hogy kérésenként adjanak meg egy titkosítási kulcsot. A megadott kulcsnév le lesz hívva az Azure Key Vaultból, és az adatok titkosítására lesz használva
--cpk-by-value
Az ügyfél által megadott név alapján megadott kulcs lehetővé teszi az Azure Blob Storage-ra irányuló kéréseket intéző ügyfelek számára, hogy kérésenként adjanak meg egy titkosítási kulcsot. A megadott kulcs és kivonata környezeti változókból lesz lekérve
--delete-destination
(sztring) Meghatározza, hogy töröljön-e további fájlokat a forrásnál nem található célhelyről. Lehet igaz, hamis vagy parancssor. Ha a rendszer kéri, a rendszer kérdéseket tesz fel a felhasználónak a fájlok és blobok törlésre való ütemezése előtt. (alapértelmezett 'false'). (alapértelmezett "false")
--dry-run
A szinkronizálási parancs által másolt vagy eltávolított fájlok elérési útját nyomtatja ki. Ez a jelző nem másolja vagy távolítja el a tényleges fájlokat.
--exclude-attributes
(sztring) (csak Windows rendszeren) Zárja ki azokat a fájlokat, amelyek attribútumai megegyeznek az attribútumlistával. Például: A; S; R
--exclude-path
(sztring) Zárja ki ezeket az elérési utakat, amikor összehasonlítja a forrást a célhellyel. Ez a beállítás nem támogatja a helyettesítő karaktereket (*). Relatív elérési út előtagjának ellenőrzése (például: myFolder; myFolder/subDirName/file.pdf).
--exclude-pattern
(sztring) Zárja ki azokat a fájlokat, ahol a név megegyezik a mintalistával. Például: .jpg;. Pdf; exactName
--exclude-regex
(sztring) Zárja ki a normál kifejezésekkel egyező fájlok relatív elérési útját. A reguláris kifejezések elkülönítése az ";" kifejezéssel.
--force-if-read-only
Ha felülír egy meglévő fájlt a Windows vagy az Azure Files rendszeren, akkor is kényszerítse a felülírást, ha a meglévő fájl írásvédett attribútumkészlettel rendelkezik.
--from-to
(sztring) Opcionálisan megadja a forrás célkombinációt. Például: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob stb.
-h
, --help
súgó a szinkronizáláshoz
--include-attributes
(sztring) (csak Windows rendszeren) Csak olyan fájlokat adjon meg, amelyek attribútumai megegyeznek az attribútumlistával. Például: A; S; R
--include-pattern
(sztring) Csak olyan fájlokat adjon meg, ahol a név megegyezik a mintalistával. Például: .jpg;. Pdf; exactName
--include-regex
(sztring) Adja meg a normál kifejezésekkel egyező fájlok relatív elérési útját. A reguláris kifejezések elkülönítése az ";" kifejezéssel.
--hash-meta-dir
A használat során --local-hash-storage-mode=HiddenFiles
megadhat egy másodlagos könyvtárat a kivonat metaadatfájljainak tárolásához (szemben a forrásban lévő kapcsolódó fájlokkal).
--local-hash-storage-mode
Adjon meg egy másik módot a fájlkivonatok gyorsítótárazására. Az érvényes beállítások a következők: HiddenFiles (OS Agnostic)
, XAttr (Linux/MacOS only
(a forráson áthaladó összes fájlrendszer esetében szükséges user_xattr
), AlternateDataStreams
(csak a Windows. igényel elnevezett streameket a célköteten).
--mirror-mode
Tiltsa le a legutóbb módosított időpontalapú összehasonlítást, és felülírja az ütköző fájlokat és blobokat a célhelyen, ha ez a jelző igaz értékre van állítva. Az alapértelmezett érték hamis
--put-blob-size-mb
Használja ezt a méretet (a MiB-ben megadva) küszöbértékként annak meghatározásához, hogy egy blobot egyetlen PUT-kérésként kell-e feltölteni az Azure Storage-ba való feltöltéskor. A rendszer automatikusan kiszámítja az alapértelmezett értéket a fájlméret alapján. Tizedes törtek megengedettek (például: 0,25).
--preserve-permissions
Alapértelmezés szerint hamis. Megőrzi az ACL-eket a tudatos erőforrások (Windows és Azure Files, illetve ADLS Gen 2–ADLS Gen 2) között. Hierarchikus névtérfiókok esetén szükség lesz egy tároló SAS- vagy OAuth-jogkivonatára, amely rendelkezik a Tulajdonos módosítása és az Engedélyek módosítása engedélyekkel. Letöltések esetén a jelölőre is szüksége lesz az --backup
engedélyek visszaállításához, ha az új tulajdonos nem az AzCopyt futtató felhasználó lesz. Ez a jelző fájlokra és mappákra egyaránt vonatkozik, kivéve, ha csak fájlszűrő van megadva (például belefoglalási minta).
--preserve-posix-properties-
Alapértelmezés szerint hamis. Preserves
tulajdonságinformációk jelennek meg a stat vagy a statx objektum metaadatai között.
--preserve-smb-info
Az SMB-t ismerő helyek esetében a jelölő alapértelmezés szerint igaz értékre lesz állítva. Megőrzi az SMB-tulajdonság adatait (utolsó írási idő, létrehozási idő, attribútumbitek) az SMB-val kapcsolatos erőforrások (Azure Files) között. Ez a jelző fájlokra és mappákra egyaránt vonatkozik, kivéve, ha csak fájlszűrő van megadva (például belefoglalási minta). A mappákhoz átvitt adatok megegyeznek a fájlok adataival, kivéve az utolsó írási időt, amely a mappák esetében nem marad meg. (alapértelmezett igaz)
--put-md5
Hozzon létre egy MD5 kivonatot az egyes fájlokról, és mentse a kivonatot a célblob vagy fájl Content-MD5 tulajdonságaként. (Alapértelmezés szerint a kivonat NEM jön létre.) Csak feltöltéskor érhető el.
--recursive
Alapértelmezés szerint igaz, ha rekurzívan vizsgálja meg az alkönyvtárakat a könyvtárak közötti szinkronizáláskor. (alapértelmezett igaz). (alapértelmezett igaz)
--s2s-preserve-access-tier
A szolgáltatási szint megőrzése a szolgáltatás másolása során. Tekintse meg az Azure Blob Storage-t: gyakori elérésű, ritka elérésű és archív hozzáférési szintek , amelyek biztosítják, hogy a céltárfiók támogatja a hozzáférési szint beállítását. Ha a hozzáférési szint beállítása nem támogatott, használja s2sPreserveAccessTier=false
a másolási hozzáférési szint megkerüléséhez. (alapértelmezett igaz). (alapértelmezett igaz)
--s2s-preserve-blob-tags
Indexcímkék megőrzése szolgáltatásról szolgáltatásra történő szinkronizálás során az egyik blobtárolóból a másikba
--trailing-dot
Alapértelmezés szerint engedélyezve van a fájlmegosztással kapcsolatos műveletek biztonságos kezelése. Elérhető lehetőségek: Enable
, Disable
. Válassza ki Disable
, hogy visszatér-e a záró pontfájlok régi (potenciálisan nem biztonságos) kezelésére, ahol a fájlszolgáltatás levágja az elérési utakon lévő záró pontokat. Ez adatsérülést okozhat, ha az átvitel két olyan elérési utat tartalmaz, amelyek csak egy záró ponttal különböznek (például mypath
és mypath.
). Ha ez a jelző be van állítva Disable
, és az AzCopy záró pontfájllal találkozik, figyelmezteti az ügyfeleket a vizsgálati naplóban, de nem kísérli meg megszakítani a műveletet. Ha a célhely nem támogatja a záró pontfájlokat (Windows vagy Blob Storage), az AzCopy sikertelen lesz, ha a záró pontfájl az átvitel gyökere, és kihagyja az enumerálás során észlelt záró pontútvonalakat.
A szülőparancsoktól örökölt beállítások
--log-level
(sztring) Adja meg a naplófájl részletességét, a rendelkezésre álló szinteket: INFO (minden kérés és válasz), WARNING(lassú válaszok), ERROR (csak sikertelen kérések) és NONE (nincs kimeneti napló). (alapértelmezett INFORMÁCIÓ). (alapértelmezett "INFO")
--cap-mbps
(lebegőpontos) Az átviteli sebesség leértékelődése megabit/másodpercben. A pillanatonkénti átviteli sebesség kissé eltérhet a korláttól. Ha ez a beállítás nullára van állítva, vagy nincs megadva, az átviteli sebesség nincs leképezve.
--output-type
(sztring) A parancs kimenetének formátuma. A lehetőségek közé tartozik: szöveg, json. Az alapértelmezett érték a "szöveg". (alapértelmezett "szöveg")
--trusted-microsoft-suffixes
(sztring) Más tartomány utótagjait adja meg, ahol a Microsoft Entra bejelentkezési jogkivonatok elküldhetők. Az alapértelmezett érték a ".core.windows.net;. core.chinacloudapi.cn;. core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net". Az itt felsoroltak az alapértelmezett értékhez lesznek hozzáadva. A biztonság érdekében csak Microsoft Azure-tartományokat helyezzen ide. Több bejegyzés elkülönítése pontosvesszővel.