Perintah sync menyinkronkan objek dari direktori OSS ke direktori lokal.
Catatan penggunaan
Operasi ini memerlukan izin
oss:GetObjectdanoss:ListObjects. Berikan izin kustom kepada RAM user.
Nama biner
Untuk ossutil 1.6.16 dan versi lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama biner di command line tanpa perlu menyesuaikannya berdasarkan sistem operasi. Jika menggunakan versi ossutil sebelum 1.6.16, sesuaikan nama biner sesuai sistem operasi Anda. Untuk informasi selengkapnya, lihat Referensi perintah ossutil.
-
Jumlah file
Saat menjalankan perintah sync tanpa opsi --delete, tidak ada batasan jumlah file yang dapat disinkronkan sekaligus. Jika Anda menyertakan opsi --delete, Anda dapat menyinkronkan hingga 1 juta file sekaligus. Jika jumlah file yang akan disinkronkan melebihi 1 juta, error over max sync numbers 1000000. akan dikembalikan.
Perbedaan dengan perintah cp
Perintah sync secara rekursif menelusuri semua objek dan subdirektori secara default. Perintah cp memerlukan opsi -r untuk operasi rekursif.
Perintah sync mendukung --backup-dir untuk menyimpan file yang hanya ada di tujuan ke folder backup. Perintah cp tidak mendukung --backup-dir.
Perintah sync tidak mendukung --version-id, sehingga tidak dapat menyinkronkan versi sebelumnya dari objek. Perintah cp mendukung --version-id.
Perintah sync dan cp memiliki semua opsi lain yang sama. cp (Download file).
Format perintah
ossutil sync cloud_url file_url
[-f --force]
[-u --update]
[--maxdownspeed <value>]
[--delete]
[--backup-dir <value>]
[--enable-symlink-dir]
[--disable-all-symlink]
[--disable-ignore-error]
[--only-current-dir]
[--output-dir <value>]
[--bigfile-threshold <value>]
[--part-size <value>]
[--checkpoint-dir <value>]
[--range <value>]
[--encoding-type <value>]
[--snapshot-path <value>]
[--include <value>]
[--exclude <value>]
[--disable-crc64]
[--payer <value>]
[-j, --job <value>]
[--parallel <value>]
[--retry-times <value>]Parameter dan opsi:
Parameter atau opsi | Deskripsi |
cloud_url | Jalur direktori sumber OSS dalam format |
file_url | Jalur folder tujuan lokal. Contoh: |
-f --force | Memaksa operasi tanpa prompt konfirmasi. |
-u, --update | Hanya menyinkronkan jika file tujuan tidak ada atau objek sumber lebih baru. |
--maxdownspeed | Kecepatan unduh maksimum dalam KB/s. Default: 0 (tidak terbatas). |
--delete | Menghapus file tujuan yang tidak ada di direktori sumber OSS. Peringatan Aktifkan Pengendalian versi sebelum menggunakan --delete untuk mencegah kehilangan data secara tidak sengaja. |
--backup-dir | Menyimpan file yang hanya ada di tujuan ke folder backup yang ditentukan alih-alih menghapusnya. |
--enable-symlink-dir | Menyinkronkan subdirektori yang ditautkan. |
--disable-all-symlink | Mengabaikan semua tautan simbolik (file dan direktori) selama proses sinkronisasi. |
--disable-ignore-error | Berhenti saat terjadi error selama operasi batch alih-alih mengabaikannya. |
--only-current-dir | Hanya menyinkronkan objek di direktori saat ini, tidak termasuk subdirektori. |
--output-dir | Direktori untuk file laporan error yang dihasilkan selama sinkronisasi batch. Default: ossutil_output di direktori saat ini. |
--bigfile-threshold | Ambang batas ukuran untuk unduhan yang dapat dilanjutkan, dalam byte. Nilai default: 100 MB Rentang nilai: 0 hingga 9223372036854775807 |
--part-size | Ukuran bagian dalam byte. Secara default, ossutil menghitung ukuran bagian berdasarkan ukuran objek. Rentang nilai: 1 hingga 9223372036854775807 |
--checkpoint-dir | Direktori untuk data checkpoint unduhan yang dapat dilanjutkan. Jika unduhan yang dapat dilanjutkan gagal, ossutil membuat direktori |
--range | Mengunduh rentang byte tertentu dari objek dan menyimpannya sebagai file baru. Menggunakan penomoran berbasis nol.
|
--encoding-type | Metode encoding untuk nama objek. Nilai yang valid: url. Default: tanpa encoding. |
--snapshot-path | Direktori untuk snapshot sinkronisasi. ossutil membaca snapshot dari direktori ini untuk melakukan Sinkronisasi inkremental pada eksekusi berikutnya. |
--include | Hanya menyertakan objek yang sesuai dengan pola yang ditentukan. Untuk informasi selengkapnya, lihat opsi --include dan --exclude. |
--exclude | Mengecualikan objek yang sesuai dengan pola yang ditentukan. Untuk informasi selengkapnya, lihat opsi --include dan --exclude. |
--disable-crc64 | Menonaktifkan validasi data CRC-64. |
--payer | Peminta pembayaran. Atur ke requester untuk membebankan biaya traffic dan permintaan kepada peminta. |
-j, --job | Jumlah tugas konkuren untuk operasi multi-objek. Default: 3. Rentang: 1 hingga 10000. |
--parallel | Jumlah tugas konkuren untuk operasi single-objek. Rentang: 1 hingga 10000. Secara default, ossutil menentukan nilai berdasarkan jenis operasi dan ukuran objek. |
--retry-times | Jumlah percobaan ulang saat terjadi error. Default: 10. Rentang: 1 hingga 500. |
Verifikasi hasil sinkronisasi
Verifikasi bahwa semua objek telah ditransfer dengan benar:
Periksa jumlah file
Bandingkan jumlah objek antara direktori OSS dan direktori lokal:
# Hitung jumlah file di direktori lokal. ls -1 /local/dir/ | wc -l # Hitung jumlah objek di direktori OSS. ossutil ls oss://bucket/dir/ -r | grep "^oss://" | wc -lDaftar objek yang disinkronkan
Tinjau objek yang telah disinkronkan:
# Daftar file lokal beserta ukurannya. ls -lh /local/dir/ # Bandingkan dengan direktori OSS. ossutil ls oss://bucket/dir/ -r
Contoh
Contoh berikut menggunakan struktur file ini. Folder localdir di bucket OSS berisi a.txt, b.txt, dan subdirektori C. Folder lokal destdir berisi d.txt:
examplebucket local root directory
└── localdir/ └── destdir/
├── a.txt └── d.txt
├── b.txt
└── C/Menyinkronkan folder localdir dari OSS ke komputer lokal Anda
ossutil sync oss://examplebucket/localdir/ destdir/Hasil: a.txt, b.txt, dan subdirektori C ditambahkan ke folder lokal destdir.
examplebucket local root directory └── localdir/ └── destdir/ ├── a.txt ├── a.txt ├── b.txt ├── b.txt └── C/ ├── d.txt └── C/Menyinkronkan dengan --backup-dir: sinkronkan localdir dari examplebucket ke destdir lokal, dan pindahkan file yang hanya ada di tujuan ke folder backup.
ossutil sync oss://examplebucket/localdir/ destdir/ --delete --backup-dir backup/Hasil: folder localdir disinkronkan. File di destdir tetapi tidak ada di sumber dipindahkan ke folder backup. Folder lokal destdir hanya berisi a.txt, b.txt, dan subdirektori C. File asli d.txt dipindahkan ke folder backup.
examplebucket local root directory └── localdir/ ├── destdir/ ├── a.txt │ ├── a.txt ├── b.txt │ ├── b.txt └── C/ │ └── C/ └── backup/ └──d.txtOutput sinkronisasi yang berhasil:
Berhasil: Jumlah total: 2, ukuran: 750.081. Jumlah berhasil: 2(unggah 2 file). kecepatan rata-rata 1.641.000(byte/s)
Opsi umum
Untuk mengakses bucket di wilayah berbeda, gunakan -e untuk menentukan Titik akhir. Untuk mengakses bucket yang dimiliki oleh Akun Alibaba Cloud berbeda, gunakan -i untuk ID AccessKey dan -k untuk Rahasia AccessKey.
Contoh: menyinkronkan dari bucket di wilayah China (Shanghai) yang dimiliki oleh Akun Alibaba Cloud lain:
ossutil sync oss://examplebucket/srcfolder/ examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret