Rclone - Menyinkronkan Direktori File dari Penyimpanan Cloud Berbeda


Rclone adalah program baris perintah yang ditulis dalam bahasa Go, digunakan untuk menyinkronkan file dan direktori dari berbagai penyedia penyimpanan cloud seperti: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Penyimpanan Google Cloud, Google Drive, dll.

Seperti yang Anda lihat, ini mendukung banyak platform, yang menjadikannya alat yang berguna untuk menyinkronkan data Anda antar server atau ke penyimpanan pribadi.

Rclone hadir dengan fitur-fitur berikut

  • Pemeriksaan hash MD5/SHA1 setiap saat untuk memastikan integritas integritas file.
  • Stempel waktu disimpan di file.
  • Sinkronisasi parsial didukung pada seluruh file.
  • Mode salin untuk file baru atau yang diubah.
  • Sinkronisasi salah satu cara untuk membuat direktori identik.
  • Mode pemeriksaan – pemeriksaan kesetaraan hash.
  • Dapat melakukan sinkronisasi ke dan dari jaringan, misalnya dua akun cloud yang berbeda.
  • (Enkripsi) ujung belakang.
  • (Cache) bagian belakang.
  • (Persatuan) bagian belakang.
  • Pemasangan FUSE opsional (pemasangan rclone).

Cara Menginstal rclone di Sistem Linux

Instalasi rclone dapat diselesaikan dengan dua cara berbeda. Cara yang lebih mudah adalah menggunakan skrip instalasinya, dengan mengeluarkan perintah berikut.

curl https://rclone.org/install.sh | sudo bash

Apa yang dilakukan skrip ini adalah memeriksa jenis OS yang menjalankannya dan mengunduh arsip yang terkait dengan OS tersebut. Kemudian ia mengekstrak arsip dan menyalin biner rclone ke /usr/bin/rclone dan memberikan izin 755 pada file tersebut.

Pada akhirnya, ketika instalasi selesai, Anda akan melihat baris berikut:

Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for  more details.

Cara kedua untuk menginstal rclone adalah dengan mengeluarkan perintah berikut.

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Sekarang salin file biner dan berikan izin yang dapat dieksekusi.

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

Instal halaman manual rclone.

mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb 

Cara Mengonfigurasi rclone di Sistem Linux

Selanjutnya yang perlu Anda lakukan adalah menjalankan rclone config untuk membuat file konfigurasi Anda. Ini akan digunakan untuk autentikasi untuk penggunaan rclone di masa mendatang. Untuk menjalankan pengaturan konfigurasi, jalankan perintah berikut.

rclone config

Anda akan melihat perintah berikut:

2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Pilihannya adalah sebagai berikut:

  • n) – Membuat koneksi jarak jauh baru
  • s) – mengatur perlindungan kata sandi untuk konfigurasi Anda
  • q) – keluar dari konfigurasi

Untuk keperluan tutorial ini mari tekan "n" dan buat koneksi baru. Anda akan diminta memberi nama pada koneksi baru tersebut. Setelah itu Anda akan diminta untuk memilih jenis penyimpanan yang akan dikonfigurasi:

Saya menamai dengan koneksi “Google” dan memilih “Google Drive ”, yang berada di bawah angka 12. Pertanyaan selebihnya dapat Anda jawab hanya dengan membiarkan jawaban default, yaitu “ ” kosong.

Jika diminta, Anda dapat memilih “autoconfig ”, yang akan menghasilkan semua informasi yang diperlukan untuk terhubung ke Google Drive Anda dan memberikan izin rclone untuk menggunakan data dari Google Drive.

Prosesnya terlihat seperti ini:

Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> 
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id = 
client_secret = 
scope = drive
root_folder_id = 
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Cara Menggunakan rclone di Sistem Linux

Rclone memiliki daftar opsi dan perintah yang cukup panjang untuk digunakan. Kami akan mencoba membahas beberapa hal yang lebih penting:

Daftar Direktori Jarak Jauh

rclone lsd <remote-dir-name>:

Salin Data dengan rclone

rclone copy source:sourcepath dest:destpath

Perhatikan bahwa jika rclone menemukan duplikat, duplikat tersebut akan diabaikan:

Sinkronkan data dengan rclone

Jika Anda ingin menyinkronkan beberapa data antar direktori, Anda harus menggunakan rclone dengan perintah sync.

Perintahnya akan terlihat seperti ini:

rclone sync source:path dest:path [flags]

Dalam hal ini sumber disinkronkan ke tujuan, hanya mengubah tujuan! Metode ini melewatkan file yang tidak diubah. Karena perintah ini dapat menyebabkan hilangnya data, Anda dapat menggunakannya dengan “–dry-run ” untuk melihat apa sebenarnya yang akan disalin dan dihapus.

Pindahkan Data dengan rclone

Untuk memindahkan data, Anda dapat menggunakan rclone dengan perintah move. Perintahnya akan terlihat seperti ini:

rclone move source:path dest:path [flags]

Konten dari sumbernya, akan dipindahkan (dihapus) dan ditempatkan pada tujuan yang dipilih.

Perintah rclone berguna lainnya

Untuk membuat direktori di tujuan.

rclone mkdir remote:path

Untuk menghapus direktori.

rclone rmdir remote:path

Periksa apakah file pada sumber dan tujuan cocok:

rclone check source:path dest:path

Hapus file:

rclone delete remote:path

Masing-masing perintah rclone dapat digunakan dengan flag berbeda dan menyertakan menu bantuannya sendiri. Misalnya, Anda dapat melakukan penghapusan selektif menggunakan opsi hapus. Katakanlah Anda ingin menghapus file yang lebih besar dari 100M, perintahnya akan terlihat seperti ini.

rclone --min-size 100M delete remote:path

Sangat disarankan untuk meninjau manual dan bantuan untuk setiap perintah untuk mendapatkan hasil maksimal dari rclone. Dokumentasi lengkap rclone tersedia di: https://rclone.org/

Kesimpulan

rclone adalah utilitas baris perintah yang kuat untuk membantu Anda mengelola data antara penyedia penyimpanan Cloud yang berbeda. Meskipun dalam artikel ini kita hanya membahas permukaan kemampuan rclone, masih banyak lagi yang bisa dicapai dengan kemampuan ini terutama bila digunakan bersama dengan layanan cron (misalnya).