全部产品
Search
文档中心

Object Storage Service:Menyinkronkan objek OSS ke komputer lokal Anda

更新时间:Jun 26, 2025

Anda dapat menjalankan perintah sync untuk menyinkronkan objek yang disimpan di Object Storage Service (OSS) ke komputer Anda.

Catatan penggunaan

  • 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 oss://bucketname/path/. Contoh: oss://examplebucket/exampledir/. Jika nilai cloud_url tidak diakhiri dengan garis miring (/), ossutil secara otomatis menambahkan satu di akhir nilai tersebut.

file_url

Path ke direktori lokal tempat Anda ingin menyinkronkan objek. Contoh: /localfolder/ di Linux dan D:\localfolder\ di Windows.

-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 .ossutil_checkpoint dan menyimpan informasi titik pemeriksaan di direktori tersebut. Jika tugas berhasil, ossutil menghapus direktori tersebut. Jika Anda menentukan direktori titik pemeriksaan, pastikan direktori tersebut dapat dihapus.

--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:

  • Rentang data dengan nilai awal dan akhir yang ditentukan

    Sebagai contoh, nilai 3-9 menunjukkan rentang dari byte 3 hingga byte 9.

  • Nilai awal

    Sebagai contoh, nilai 3- menunjukkan rentang dari byte 3 hingga akhir objek.

  • Nilai akhir

    Sebagai contoh, nilai -9 menunjukkan rentang dari byte 0 hingga byte 9.

--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.txt
  • Jika 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 yourAccessKeySecret

Untuk informasi lebih lanjut tentang opsi umum, lihat Opsi umum.