Perintah cp mentransfer file dan folder antara mesin lokal Anda dan Object Storage Service (OSS), atau di dalam OSS. Perintah ini menangani unggahan, unduhan, dan penyalinan, serta mendukung transfer konkuren dan dapat dilanjutkan.
Sebelum menggunakan perintah cp, pastikan Anda telah menginstal dan mengonfigurasi ossutil.
Catatan
Sebelum mengunggah, mengunduh, atau menyalin objek, pastikan Pengguna Resource Access Management (RAM) atau Peran RAM yang terkait dengan kredensial akses Anda memiliki izin yang diperlukan pada bucket dan objek tujuan. Untuk informasi selengkapnya, lihat Berikan izin kebijakan kustom kepada Pengguna RAM.
Cara kerja
Perintah ossutil cp secara otomatis menentukan apakah akan melakukan operasi unggah, unduh, atau salin berdasarkan jenis jalur sumber dan tujuan.
Saat mentransfer file menggunakan perintah cp, ossutil secara otomatis memilih metode transfer berdasarkan ukuran file:
Untuk file yang lebih kecil dari ambang batas transfer yang dapat dilanjutkan, ossutil melakukan transfer standar. Anda dapat menggunakan opsi
--bigfile-thresholduntuk mengatur ambang batas ini. Nilai default-nya adalah 100 MB.Untuk file yang sama dengan atau lebih besar dari ambang batas tersebut, ossutil menggunakan transfer yang dapat dilanjutkan. Jika unggahan terganggu, data yang telah ditransfer disimpan sebagai bagian sementara di dalam bucket. Untuk menghindari biaya penyimpanan, bersihkan bagian-bagian ini secara berkala. Anda dapat menghapus bagian-bagian tersebut secara manual atau mengonfigurasi aturan siklus hidup untuk menghapusnya secara otomatis.
Jika transfer yang dapat dilanjutkan gagal, ossutil secara otomatis membuat folder bernama .ossutil_checkpoint untuk menyimpan informasi checkpoint. Folder ini dihapus setelah transfer berhasil diselesaikan. Anda juga dapat menggunakan parameter --checkpoint-dir untuk menentukan folder khusus bagi informasi checkpoint.
Unggah objek
Anda dapat menggunakan perintah cp (unggah objek) untuk mengunggah sumber daya lokal ke bucket OSS tertentu. Sumber daya tersebut dapat berupa file, citra, atau video.
Unggah satu objek: Unggah objek dari jalur lokal tertentu ke bucket.
Unggah objek secara batch: Unggah seluruh folder beserta isinya.
Filter unggahan: Anda dapat menggunakan opsi
--includedan--excludeuntuk mengontrol objek mana yang diunggah. Misalnya, Anda dapat hanya mengunggah file.logatau mengecualikan semua file sementara (.tmp).
Unduh objek
Anda dapat menggunakan perintah cp (unduh objek) untuk mengunduh sumber daya dari OSS ke mesin lokal Anda. Anda dapat mengunduh beberapa objek, membatasi kecepatan unduhan, atau mengunduh versi tertentu dari objek dari bucket yang diaktifkan pengendalian versinya.
Unduh satu objek: Unduh objek tertentu ke mesin lokal Anda.
Unduh objek secara batch: Unduh seluruh struktur folder dari bucket ke mesin lokal Anda.
Unduh versi tertentu: Jika bucket Anda telah mengaktifkan pengendalian versi, Anda dapat mengunduh versi tertentu dari suatu objek.
Salin objek
Anda dapat menggunakan perintah cp (salin objek) untuk menyalin objek ke bucket lain di wilayah yang sama atau ke folder lain di dalam bucket yang sama. Konten objek tetap tidak berubah.
Salin antar bucket: Salin objek dari satu bucket ke bucket lain di wilayah yang sama.
Salin di dalam bucket (pindahkan/ubah nama): Salin objek dari satu folder ke folder lain di dalam bucket yang sama. Proses ini sering digunakan untuk memindahkan atau mengubah nama objek. Operasi ini menyalin objek lalu menghapus objek sumber.
Perintah ossutil cp tidak mendukung langsung penyalinan lintas wilayah. Untuk menyalin objek antar bucket di wilayah berbeda, Anda dapat menggunakan fitur replikasi lintas wilayah (CRR).
Penggunaan di lingkungan produksi
Tingkatkan kinerja konkuren
Jika tingkat konkurensi default tidak memenuhi kebutuhan kinerja Anda, Anda dapat menyesuaikan opsi -j, --jobs dan --parallel. Secara default, ossutil menghitung nilai parallel berdasarkan ukuran file. Saat mentransfer file besar secara batch, jumlah aktual operasi konkuren adalah nilai jobs × nilai parallel.
Jika Instance ECS atau server memiliki sumber daya terbatas, seperti lebar pita jaringan, memori, atau CPU, Anda dapat menurunkan jumlah operasi konkuren ke nilai di bawah 100. Jika sumber daya belum dimanfaatkan sepenuhnya, Anda dapat meningkatkan jumlah operasi konkuren.
Jumlah operasi konkuren yang tinggi dapat menurunkan kinerja karena overhead pergantian thread dan persaingan sumber daya. Hal ini bahkan dapat menyebabkan kesalahan End-of-File (EOF). Anda dapat menyesuaikan opsi -j, --jobs dan --parallel berdasarkan sumber daya mesin Anda. Saat melakukan pengujian stres, mulailah dengan jumlah operasi konkuren yang rendah dan tingkatkan secara bertahap hingga menemukan nilai optimal.
Pembentukan trafik
Anda dapat menggunakan parameter --maxupspeed atau --maxdownspeed untuk membatasi kecepatan unggah atau unduh. Hal ini mencegah transfer menghabiskan terlalu banyak bandwidth.