Anda dapat menjalankan perintah sync untuk menyinkronkan objek yang disimpan di Object Storage Service (OSS) ke komputer Anda.
Catatan penggunaan
Untuk menyinkronkan objek dari OSS ke komputer Anda, Anda harus memiliki izin
oss:GetObjectdanoss:ListObjects. Untuk informasi lebih lanjut, lihat Melampirkan kebijakan kustom ke pengguna RAM.
Nama binari
Untuk ossutil versi 1.6.16 dan yang lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama binari di baris perintah tanpa memperbarui berdasarkan sistem operasi. Untuk ossutil sebelum versi 1.6.16, Anda perlu memperbarui nama binari sesuai dengan sistem operasi. Untuk informasi lebih lanjut, lihat Referensi perintah ossutil.
Jumlah file lokal yang akan disinkronkan
Saat menjalankan perintah sync tanpa opsi --delete, tidak ada batasan jumlah file lokal yang dapat disinkronkan sekaligus. Namun, jika opsi --delete digunakan, Anda hanya dapat menyinkronkan hingga 1 juta file lokal sekaligus. Jika jumlah file melebihi 1 juta, pesan kesalahan melebihi jumlah sinkronisasi maksimum 1000000. akan ditampilkan.
Perbedaan antara perintah sync dan cp
Perintah sync secara rekursif menyinkronkan semua objek dan subdirektori dalam direktori tertentu. Perintah cp hanya melakukan ini jika opsi -r ditentukan.
Perintah sync mendukung opsi --backup-dir. Saat menjalankan perintah sync untuk menyinkronkan data ke OSS, Anda dapat menggunakan opsi ini untuk menentukan direktori di OSS guna menyimpan objek yang ada di tujuan tetapi tidak terdapat di sumber. Perintah cp tidak mendukung opsi --backup-dir.
Perintah sync tidak mendukung opsi --version-id, sehingga tidak dapat digunakan untuk menyinkronkan versi sebelumnya dari objek dalam bucket yang diberi versi. Sebaliknya, perintah cp mendukung opsi --version-id.
Selain perbedaan di atas, perintah sync dan cp dapat digunakan dengan cara serupa. Untuk informasi lebih lanjut tentang perintah cp, lihat Mengunduh objek.
Sintaks 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>]Tabel berikut menggambarkan parameter dan opsi dalam sintaks perintah.
Parameter/Opsi | Deskripsi |
cloud_url | Path ke direktori tempat objek yang ingin Anda sinkronkan disimpan. Path ini dalam format |
file_url | Path ke direktori lokal tempat Anda ingin menyinkronkan objek. Contoh: |
-f --force | Memaksa operasi tanpa memerlukan konfirmasi. |
-u, --update | Menentukan bahwa ossutil menyinkronkan objek dari sumber hanya ketika objek tidak ada di tujuan atau ketika waktu modifikasi terakhir objek di sumber lebih baru daripada objek di tujuan. |
--maxdownspeed | Menentukan kecepatan unduh maksimum. Satuan: KB/s. Nilai default: 0, yang menentukan bahwa kecepatan unduh tidak dibatasi. |
--delete | Menentukan bahwa hanya objek yang disinkronkan yang dipertahankan di path tujuan. Objek lain di path tujuan dihapus. Peringatan Untuk menentukan opsi --delete dalam perintah, kami sarankan Anda mengaktifkan versioning untuk bucket untuk mencegah data terhapus secara tidak sengaja. Untuk informasi lebih lanjut tentang versioning, lihat Ikhtisar. |
--backup-dir | Menentukan direktori yang digunakan untuk menyimpan objek yang ada di path tujuan tetapi tidak ada di sumber. |
--enable-symlink-dir | Menentukan bahwa subdirektori tempat tautan simbolik menunjuk disinkronkan. |
--disable-all-symlink | Menentukan bahwa semua file dan subdirektori tempat tautan simbolik di direktori menunjuk tidak disinkronkan. |
--disable-ignore-error | Menentukan bahwa kesalahan tidak diabaikan selama operasi batch. |
--only-current-dir | Menentukan bahwa hanya objek di direktori saat ini yang disinkronkan. Subdirektori di direktori saat ini dan objek di subdirektori tersebut tidak disinkronkan. |
--output-dir | Menentukan direktori tempat file keluaran disimpan. File keluaran adalah laporan yang dihasilkan saat terjadi kesalahan dalam tugas sinkronisasi batch. Jika Anda tidak menentukan direktori untuk file keluaran, file keluaran disimpan di subdirektori ossutil_output dari direktori saat ini. |
--bigfile-threshold | Ambang ukuran objek untuk menggunakan unduhan yang dapat dilanjutkan. Jika ukuran objek melebihi ambang ukuran objek yang ditentukan, objek diunduh menggunakan unduhan yang dapat dilanjutkan. Satuan: byte. Ambang ukuran objek default adalah 100 MB. Nilai valid: 0 hingga 9223372036854775807. |
--part-size | Ukuran bagian. Satuan: byte. Secara default, ossutil menentukan ukuran bagian berdasarkan ukuran objek. Nilai valid: 1 hingga 9223372036854775807. |
--checkpoint-dir | Direktori tempat informasi titik pemeriksaan tugas unduhan yang dapat dilanjutkan disimpan. Jika tugas gagal, ossutil secara otomatis membuat direktori bernama |
--range | Menentukan bahwa rentang konten objek tertentu diunduh dan disimpan sebagai file baru di path tujuan. Nilai awal minimum rentang adalah 0, yang menunjukkan byte 0 dari konten objek. Anda dapat menentukan nilai untuk opsi ini dalam salah satu format berikut:
|
--encoding-type | Metode yang ingin Anda gunakan untuk mengkodekan nama objek. Atur nilainya menjadi url. Jika Anda tidak menentukan opsi ini, nama objek tidak dikodekan. |
--snapshot-path | Menentukan direktori tempat snapshot objek yang disinkronkan disimpan. Dalam tugas sinkronisasi berikutnya, ossutil membaca snapshot di direktori ini untuk sinkronisasi inkremental. |
--include | Mencakup semua objek yang memenuhi kondisi yang ditentukan. Untuk informasi lebih lanjut, lihat Opsi --include dan --exclude. |
--exclude | Mengecualikan semua objek yang memenuhi kondisi yang ditentukan. Untuk informasi lebih lanjut, lihat Opsi --include dan --exclude. |
--disable-crc64 | Menonaktifkan verifikasi CRC-64. |
--payer | Pembayar biaya yang dihasilkan oleh operasi. Jika Anda ingin peminta yang mengakses sumber daya di path yang ditentukan membayar biaya yang dihasilkan oleh operasi, atur opsi ini menjadi requester. |
-j, --job | Jumlah tugas konkuren yang dapat dilakukan dalam operasi multi-objek. Nilai valid: 1 hingga 10000. Nilai default: 3. |
--parallel | Jumlah tugas konkuren yang dapat dilakukan dalam operasi single-objek. Nilai valid: 1 hingga 10000. Jika Anda tidak menentukan opsi ini, ossutil menentukan nilai opsi ini berdasarkan jenis operasi dan ukuran objek. |
--retry-times | Jumlah percobaan ulang jika terjadi kesalahan. Nilai default: 10. Nilai valid: 1 hingga 500. |
Contoh
Direktori localdir sebuah bucket bernama examplebucket berisi objek a.txt dan b.txt serta subdirektori bernama C. File lokal bernama d.txt disimpan di direktori destdir direktori root lokal. Struktur berikut menunjukkan file dan direktori di komputer dan OSS Anda sebelum sinkronisasi:
examplebucket Direktori root lokal
└── localdir/ └── destdir/
├── a.txt └── d.txt
├── b.txt
└── C/Sinkronkan direktori localdir dari examplebucket ke komputer Anda.
ossutil sync oss://examplebucket/localdir/ destdir/Setelah menjalankan perintah di atas, objek a.txt dan b.txt serta direktori C ditambahkan ke direktori destfolder di komputer Anda. Struktur berikut menunjukkan file dan direktori di komputer dan OSS Anda setelah sinkronisasi:
examplebucket Direktori root lokal └── localdir/ └── destdir/ ├── a.txt ├── a.txt ├── b.txt ├── b.txt └── C/ ├── d.txt └── C/Sinkronkan direktori localdir bucket examplebucket ke direktori lokal bernama destdir. Opsi --backup-dir diatur ke direktori bernama backup untuk menyimpan objek yang ada di direktori destdir tetapi tidak ada di direktori localdir. Objek tersebut kemudian dihapus dari direktori destdir.
ossutil sync oss://examplebucket/localdir/ destdir/ --delete --backup-dir backup/Setelah menjalankan perintah, direktori localdir bucket examplebucket disinkronkan ke direktori destdir di komputer Anda. Objek yang ada di direktori destdir dan tidak ada di direktori localdir dipindahkan ke direktori backup. Hanya objek yang disinkronkan bernama a.txt dan b.txt serta subdirektori bernama C yang tersisa di direktori destdir setelah sinkronisasi. Objek d.txt yang ada di direktori destdir sebelum sinkronisasi dipindahkan ke direktori backup. Struktur berikut menunjukkan file dan direktori di komputer dan OSS Anda setelah sinkronisasi dengan menentukan direktori cadangan:
examplebucket Direktori root lokal └── localdir/ ├── destdir/ ├── a.txt │ ├── a.txt ├── b.txt │ ├── b.txt └── C/ │ └── C/ └── backup/ └──d.txtJika perintah di atas dijalankan dengan sukses, keluaran serupa dengan konten berikut dikembalikan untuk menunjukkan jumlah objek yang disinkronkan, ukuran objek yang disinkronkan, dan waktu yang dikonsumsi oleh sinkronisasi:
Berhasil: Total num: 2, size: 750.081. OK num: 2(upload 2 files). kecepatan rata-rata 1641000(byte/s)
Opsi umum
Jika Anda menggunakan ossutil untuk beralih ke bucket yang berada di wilayah lain, tambahkan opsi -e untuk menentukan endpoint wilayah tempat bucket berada. Jika Anda menggunakan ossutil untuk beralih ke bucket yang dimiliki oleh akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey akun tersebut, dan tambahkan opsi -k untuk menentukan Rahasia AccessKey akun tersebut.
Sebagai contoh, Anda dapat menjalankan perintah berikut untuk menyinkronkan direktori bernama srcfolder dari bucket bernama examplebucket yang berada di wilayah China (Shanghai) dan dimiliki oleh akun Alibaba Cloud lain, ke direktori lokal bernama examplefolder:
ossutil sync oss://examplebucket/srcfolder/ examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecretUntuk informasi lebih lanjut tentang opsi umum, lihat Opsi umum.