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.
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ásiparancs 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")
--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.
--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")
--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-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
A szülőparancsoktól örökölt beállítások
--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.