azcopy sync

Mereplikasi lokasi sumber ke lokasi tujuan. Artikel ini memberikan referensi detail untuk perintah azcopy sync. Untuk mempelajari selengkapnya tentang sinkronisasi blob antara lokasi sumber dan tujuan, lihat Menyinkronkan dengan penyimpanan Blob Azure menggunakan AzCopy v10. Untuk File Azure, lihat Menyinkronkan file.

Sinopsis

Waktu terakhir diubah digunakan untuk perbandingan. File dilewati jika waktu terakhir diubah dalam tujuan baru terjadi. Atau, Anda dapat menggunakan --compare-hash bendera untuk mentransfer hanya file yang berbeda dalam hash MD5 mereka. Pasangan yang didukung adalah:

  • Lokal <-> Azure Blob/Azure File (autentikasi SAS atau OAuth dapat digunakan)
  • Azure Blob <-> Azure Blob (autentikasi SAS atau OAuth dapat digunakan)
  • Azure File <-> Azure File (Sumber harus menyertakan SAS atau dapat diakses publik; autentikasi SAS harus digunakan untuk tujuan)
  • Azure Blob < - > File Azure

Perintah sinkronisasi berbeda dari perintah salin dalam beberapa cara:

  1. Secara default, bendera rekursif adalah true dan menyinkronkan salinan semua subdirektori. Sinkronisasi hanya menyalin file tingkat atas di dalam direktori jika bendera rekursif salah.
  2. Saat menyinkronkan antara direktori virtual, tambahkan garis miring trailing ke jalur (lihat contoh) jika ada blob bernama sama dengan salah satu direktori virtual.
  3. Jika bendera 'delete-destination' diatur ke true atau prompt, sinkronisasi akan menghapus file dan blob di tujuan yang tidak ada di sumber.

Panduan

Secara default, perintah sinkronisasi membandingkan nama file dan tanda waktu terakhir yang dimodifikasi. Anda dapat mengambil alih perilaku tersebut untuk menggunakan hash MD5 alih-alih tanda waktu terakhir yang dimodifikasi dengan menggunakan --compare-hash bendera . Atur bendera opsional --delete-destination ke nilai true atau prompt untuk menghapus file di direktori tujuan jika file tersebut tidak ada lagi di direktori sumber.

  • Jika Anda mengatur bendera --delete-destination menjadi true, AzCopy akan menghapus file tanpa memberikan perintah. Jika Anda ingin perintah muncul sebelum AzCopy menghapus file, atur bendera --delete-destination menjadi prompt.

  • Jika Anda berencana untuk mengatur bendera --delete-destination menjadi prompt atau false, pertimbangkan untuk menggunakan perintah salin bukan perintah sinkronisasi lalu atur parameter --overwrite ke ifSourceNewer. Perintah salin menggunakan lebih sedikit memori dan menimbulkan lebih sedikit biaya tagihan karena operasi salin tidak harus mengindeks sumber atau tujuan sebelum memindahkan file.

  • Jika Anda tidak berencana untuk menggunakan --compare-hash bendera, maka komputer tempat Anda menjalankan perintah sinkronisasi harus memiliki jam sistem yang akurat karena waktu terakhir yang dimodifikasi sangat penting dalam menentukan apakah file harus ditransfer. Jika sistem Anda memiliki penyimpangan jam yang signifikan, hindari mengubah file di tujuan terlalu dekat dengan waktu yang Anda rencanakan untuk menjalankan perintah sinkronisasi.

  • AzCopy menggunakan API server-ke-server untuk menyinkronkan data antar akun penyimpanan. Itu berarti bahwa data disalin langsung di antara server penyimpanan. Namun, AzCopy memang menyiapkan dan memantau setiap transfer, dan untuk akun penyimpanan yang lebih besar (Misalnya, akun yang berisi jutaan blob), AzCopy mungkin memerlukan sejumlah besar sumber daya komputasi untuk menyelesaikan tugas-tugas ini. Oleh karena itu, jika Anda menjalankan AzCopy dari Komputer Virtual (VM), pastikan bahwa VM memiliki cukup core/memori untuk menangani beban.

  • Untuk Blob Storage, Anda dapat mencegah penghapusan yang tidak disengaja dengan memastikan untuk mengaktifkan fitur penghapusan sementara sebelum Anda menggunakan --delete-destination=prompt|true bendera.

Lanjutan

Harap perhatikan bahwa jika Anda tidak menentukan ekstensi file, AzCopy secara otomatis mendeteksi jenis konten file saat mengunggah dari disk lokal, berdasarkan ekstensi file atau konten.

Tabel pencarian bawaan kecil, tetapi di Unix, tabel ini ditambah dengan file mime.types sistem lokal jika tersedia dengan satu atau beberapa nama ini:

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

Di Windows, jenis MIME diekstrak dari registri.

Secara default sinkronisasi berfungsi dari waktu terakhir yang dimodifikasi kecuali Anda mengambil alih perilaku default tersebut --compare-hash dengan menggunakan bendera . Jadi dalam kasus Azure File <-> Azure File, bidang header Last-Modified digunakan alih-alih x-ms-file-change-time, yang berarti bahwa perubahan metadata di sumber juga dapat memicu salinan lengkap.

azcopy sync [flags]

Contoh

Sinkronkan satu file:

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

Sama seperti di atas, tetapi juga menghitung hash MD5 dari konten file, kemudian menyimpan hash MD5 tersebut sebagai properti Konten-MD5 blob.

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

Sinkronkan seluruh direktori termasuk subdirektorinya (perhatikan bahwa rekursif secara default aktif):

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

Sinkronkan hanya file di dalam direktori tetapi bukan subdirektori atau file di dalam subdirektori:

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

Sinkronkan subset file dalam direktori (Misalnya: hanya file jpg dan pdf, atau jika nama file adalah "exactName"):

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

Sinkronkan seluruh direktori tetapi mengecualikan file tertentu dari cakupan (Misalnya: setiap file yang diawali dengan foo atau diakhiri dengan bar):

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

Sinkronkan satu blob:

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

Sinkronkan direktori virtual:

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

Sinkronkan direktori virtual bernama sama seperti blob (tambahkan garis miring trailing ke jalur agar tidak ambigu):

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

Sinkronkan direktori Azure File (sintaks yang sama dengan 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

Catatan: jika bendera penyertaan dan pengecualian digunakan bersama, hanya file yang cocok dengan pola penyertaan yang dilihat, tetapi yang cocok dengan pola pengecualian akan diabaikan.

Opsi

--block-size-mb (float) Gunakan ukuran blok ini (ditentukan dalam MiB) saat mengunggah ke Azure Storage atau mengunduh dari Azure Storage. Defaultnya secara otomatis dihitung berdasarkan ukuran file. Pecahan desimal diperbolehkan (misalnya: 0,25). Saat mengunggah atau mengunduh, ukuran blok maksimum yang diizinkan adalah 0,75 * AZCOPY_BUFFER_GB. Untuk mempelajari selengkapnya, lihat Mengoptimalkan penggunaan memori.

--check-md5 (string) Menentukan seberapa ketat hash MD5 harus divalidasi saat mengunduh. Opsi ini hanya tersedia saat mengunduh. Nilai yang tersedia meliputi: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (default 'FailIfDifferent'). (default "FailIfDifferent")

--cpk-by-name (string) Kunci yang disediakan klien menurut nama yang memungkinkan klien membuat permintaan terhadap penyimpanan Azure Blob opsi untuk menyediakan kunci enkripsi berdasarkan permintaan. Nama kunci yang disediakan akan diambil dari Azure Key Vault dan akan digunakan untuk mengenkripsi data

--cpk-by-value Kunci yang disediakan klien menurut nama yang memungkinkan klien membuat permintaan terhadap penyimpanan Azure Blob opsi untuk menyediakan kunci enkripsi berdasarkan permintaan. Kunci yang disediakan dan hash-nya akan diambil dari variabel lingkungan

--delete-destination (string) Menentukan apakah akan menghapus file tambahan dari tujuan yang tidak ada pada sumbernya. Dapat diatur ke true, false, atau prompt. Jika diatur ke prompt, pengguna akan diberi pertanyaan sebelum menjadwalkan file dan blob untuk penghapusan. (default 'false'). (default "false")

--dry-run Mencetak jalur file yang akan disalin atau dihapus oleh perintah sinkronisasi. Bendera ini tidak menyalin atau menghapus file yang sebenarnya.

--exclude-attributes (string) (hanya Windows) Mengecualikan file yang atributnya cocok dengan daftar atribut. Misalnya: A;S;R

--exclude-path (string) Mengecualikan jalur ini saat membandingkan sumber dengan tujuan. Opsi ini tidak mendukung karakter wildcard (*). Memeriksa awalan jalur relatif(Misalnya: myFolder;myFolder/subDirName/file.pdf).

--exclude-pattern (string) Mengecualikan file yang namanya cocok dengan daftar pola. Misalnya: .jpg;.pdf;exactName

--exclude-regex (string) Mengecualikan jalur file relatif yang cocok dengan regex. Pisahkan regex dengan ';'.

--force-if-read-only Saat menimpa file yang ada di Windows atau Azure Files, paksa penimpaan untuk berfungsi meskipun file yang ada memiliki set atribut baca-saja.

--from-to (String) Secara opsional menentukan kombinasi tujuan sumber. Misalnya: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob, dll.

-h, --help bantuan untuk sinkronisasi

--include-attributes (string) (hanya Windows) Menyertakan file yang atributnya cocok dengan daftar atribut saja. Misalnya: A;S;R

--include-pattern (string) Sertakan hanya file yang namanya cocok dengan daftar pola. Misalnya: .jpg;.pdf;exactName

--include-regex (string) Mencakup jalur file relatif yang cocok dengan regex. Pisahkan regex dengan ';'.

--log-level (string) Menentukan verbositas log untuk file log, level yang tersedia: INFO (semua permintaan dan respons), WARNING (respons lambat), ERROR (hanya permintaan gagal), dan NONE (tidak ada log output). (default INFO). (default "INFO")

--mirror-mode Menonaktifkan perbandingan berbasis waktu terakhir yang dimodifikasi dan menimpa file dan blob yang saling bertentangan di tujuan jika tanda ini diatur ke true. Defaultnya adalah salah

--put-blob-size-mb Gunakan ukuran ini (ditentukan dalam MiB) sebagai ambang batas untuk menentukan apakah akan mengunggah blob sebagai satu permintaan PUT saat mengunggah ke Azure Storage. Nilai defaultnya secara otomatis dihitung berdasarkan ukuran file. Pecahan desimal diperbolehkan (misalnya: 0,25).

--preserve-permissions False secara default. Mempertahankan ACL antara sumber daya yang tanggap (Windows dan Azure Files, atau ADLS Gen 2 ke ADLS Gen 2). Untuk akun yang memiliki Namespace Hierarkis, Anda akan memerlukan token SAS kontainer atau token OAuth dengan Izin Izin Modifikasi. Untuk unduhan, Anda juga akan memerlukan bendera --backup untuk memulihkan izin di mana Pemilik yang baru tidak bukanlah pengguna yang menjalankan AzCopy. Bendera ini berlaku untuk file dan folder, kecuali apabila filter hanya-file ditentukan (misalnya, pola penyertaan).

--preserve-smb-info Untuk lokasi yang mengetahui SMB, bendera akan diatur ke true secara default. Mempertahankan info properti SMB (waktu penulisan terakhir, waktu pembuatan, bit atribut) antara sumber daya yang tanggap-SMB (Azure Files). Bendera ini berlaku untuk file dan folder, kecuali apabila filter hanya-file ditentukan (misalnya, pola penyertaan). Info yang ditransfer untuk folder sama dengan untuk file, kecuali untuk Waktu Penulisan Terakhir yang tidak dipertahankan untuk folder. (default true)

--put-md5 Buat hash MD5 dari setiap file, dan simpan hash sebagai properti Content-MD5 dari blob atau file tujuan. (Secara default hash TIDAK dibuat.) Hanya tersedia saat mengunggah.

--recursive True secara default, lihat subdirektori secara rekursif saat melakukan sinkronisasi antardirektori. (default true). (default true)

--s2s-preserve-access-tier Mempertahankan tingkat penyimpanan selama layanan untuk salinan layanan. Lihat Penyimpanan Blob Azure: tingkat penyimpanan panas, dingin, dan arsip untuk memastikan akun penyimpanan tujuan mendukung pengaturan tingkat penyimpanan. Jika setelan tingkat akses tidak didukung, gunakan s2sPreserveAccessTier=false untuk mengabaikan penyalinan tingkat akses. (default true). (default true)

--s2s-preserve-blob-tags Mempertahankan tag indeks selama sinkronisasi layanan ke layanan dari satu penyimpanan blob ke lainnya.

Opsi yang diwarisi dari perintah induk

--cap-mbps (float) Menutup tingkat transfer, dalam megabit per detik. Throughput moment-by-moment mungkin sedikit berbeda dibandingkan tutup. Jika opsi ini diatur ke nol, atau dihilangkan, throughput tidak dibatasi.

--output-type (String) Format output perintah. Pilihannya meliputi: text, json. Nilai default-nya adalah ‘teks’. (default "teks")

--trusted-microsoft-suffixes (String) Menentukan akhiran domain lain tempat token masuk Microsoft Entra dapat dikirim. Defaultnya adalah '.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net'. Setiap yang tercantum di sini ditambahkan ke default. Untuk keamanan, Anda sebaiknya hanya menempatkan domain Microsoft Azure di sini. Pisahkan beberapa entri dengan titik koma.

Lihat juga