3 poin oleh GN⁺ 2024-01-28 | 1 komentar | Bagikan ke WhatsApp
  • Rclone adalah alat untuk menangani manajemen file cloud dari command line, memungkinkan penggunaan lebih dari 70 produk storage dan protokol transfer standar tanpa bergantung pada antarmuka web
  • Menyediakan operasi bergaya Unix yang familier seperti rsync, cp, mv, dan mount untuk cloud, serta mendukung pipeline shell, --dry-run, skrip, hingga otomasi API
  • Mempertahankan timestamp dan checksum selama transfer, dan dapat melanjutkan dari titik transfer terakhir yang berhasil bahkan dalam kondisi bandwidth terbatas, koneksi tidak stabil, atau lingkungan dengan kuota
  • Dapat me-mount filesystem lokal, cloud, dan virtual seperti disk di Windows, macOS, Linux, dan FreeBSD, serta menyediakannya melalui SFTP, HTTP, WebDAV, FTP, dan DLNA
  • Berguna saat mengoperasikan beberapa layanan storage sekaligus karena satu alat ini menangani backup, restore, migrasi antarkloud, enkripsi, kompresi, chunking, hashing, hingga penggabungan

Alat command-line untuk manajemen file cloud

  • Rclone adalah program command-line untuk mengelola file di cloud storage
  • Digunakan sebagai alat kaya fitur yang dapat menggantikan antarmuka web storage yang disediakan vendor cloud
  • Dukungan mencakup lebih dari 70 target, termasuk S3 object store, layanan file storage untuk perusahaan dan konsumen, serta protokol transfer standar
  • Pengguna menyebut Rclone sebagai “pisau Swiss Army untuk cloud storage” dan “teknologi yang sulit dibedakan dari sihir”

Perintah bergaya Unix dan otomasi

  • Rclone menyediakan operasi cloud yang sepadan dengan perintah Unix yang familier
    • rsync
    • cp
    • mv
    • mount
    • ls
    • ncdu
    • tree
    • rm
    • cat
  • Sintaksnya mendukung pipeline shell, dan --dry-run dapat digunakan untuk memeriksa pekerjaan sebelum benar-benar membuat perubahan
  • Selain dijalankan dari command line, Rclone juga dapat digunakan melalui skrip dan API
  • Developer pihak ketiga memanfaatkan command line atau API Rclone untuk membuat solusi backup, restore, GUI, dan proses bisnis

Perlindungan data dan stabilitas transfer

  • Mempertahankan timestamp selama transfer dan selalu memverifikasi checksum
  • Bahkan dalam lingkungan dengan bandwidth terbatas, koneksi terputus-putus, atau kuota, transfer dapat dilanjutkan dari file terakhir yang berhasil ditransfer
  • Integritas file dapat diperiksa dengan perintah check
  • Jika memungkinkan, Rclone menggunakan transfer sisi server untuk mengurangi penggunaan bandwidth lokal dan melakukan transfer antar-penyedia tanpa melewati disk lokal
  • Fitur terkait transfer mencakup
    • Pemeriksaan integritas file melalui hash MD5 dan SHA1
    • Pemertahanan timestamp file
    • Pekerjaan yang dapat dilanjutkan kapan saja
    • Transfer jaringan antar-penyedia cloud yang berbeda
    • Download multi-thread ke disk lokal

Skenario backup, restore, dan migrasi

  • Melakukan backup file ke cloud storage dan mengenkripsinya bila diperlukan
  • Melakukan restore file dari cloud storage dan mendekripsinya bila diperlukan
  • Data cloud dapat di-mirror ke layanan cloud lain atau ke lokal
  • Data dapat dipindahkan ke cloud, atau dipindahkan antar-vendor cloud storage
  • Me-mount beberapa cloud storage terenkripsi, cache, dan heterogen seperti disk
  • Menganalisis dan mengagregasi data di cloud storage dengan lsf, ljson, size, dan ncdu
  • Dengan Union, beberapa filesystem lokal atau cloud dapat ditampilkan seolah-olah satu filesystem

Operasi file dan penyediaan layanan

  • Copy menyalin file baru atau yang berubah ke cloud storage
  • Sync membuat direktori menjadi identik secara satu arah
  • Bisync menyinkronkan dua direktori secara dua arah
  • Move memindahkan file ke cloud storage sambil menghapus file lokal setelah verifikasi
  • Check memeriksa hash serta file yang hilang atau tambahan
  • Mount me-mount cloud storage sebagai disk jaringan
  • Serve menyajikan file lokal atau remote melalui HTTP, WebDAV, FTP, SFTP, dan DLNA
  • GUI berbasis web adalah fitur eksperimental

Mount dan backend virtual

  • Me-mount filesystem lokal, cloud, dan virtual sebagai disk di Windows, macOS, Linux, dan FreeBSD
  • Filesystem yang sama dapat disajikan melalui SFTP, HTTP, WebDAV, FTP, dan DLNA
  • Backend virtual membungkus filesystem lokal atau cloud untuk menerapkan fungsi tambahan
    • Crypt: Enkripsi file
    • Compress: Kompresi file
    • Chunker: Pemecahan file besar
    • Hasher: Hashing file
    • Union: Menggabungkan beberapa remote storage
    • Alias: Mengubah nama remote storage yang sudah ada
    • Archive: Membaca file arsip
    • Cache: Cache remote storage, Deprecated
    • Combine: Menggabungkan beberapa remote storage menjadi tree direktori

Penyedia yang didukung dan instalasi

  • Penyedia yang didukung mencakup Amazon S3, Backblaze B2, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure Blob Storage, Microsoft OneDrive, Proton Drive, SFTP, SMB/CIFS, WebDAV, filesystem lokal, dan lainnya
  • Penyedia lain berbasis protokol standar seperti WebDAV atau S3 juga sering dapat langsung berjalan
  • Rclone adalah software open-source matang yang terinspirasi dari rsync dan ditulis dengan Go
  • Rclone tersedia di repositori resmi Ubuntu, Debian, Fedora, Brew, dan Chocolatey
  • Untuk versi terbaru, cara yang direkomendasikan adalah mengunduh dari rclone.org
  • Tautan terkait

1 komentar

 
GN⁺ 2024-01-28
Komentar Hacker News
  • Saya sangat suka rclone. Saya ingat di halaman donasi lamanya pernah ada kalimat seperti, “rclone adalah proyek yang dibuat dengan cinta jadi tidak butuh uang, tapi saya akan sangat berterima kasih kalau Anda membantu saya membelikan bunga untuk istri saya”
    Rasanya seperti orang yang keren, dan saya senang sekarang dia bisa mengerjakan rclone secara penuh waktu. Semoga ini tetap menjadi pekerjaan yang memberi kepuasan
    Saya menemukan halaman saat itu di archive.org, dan ternyata malah lebih menghangatkan hati daripada yang saya ingat:
    “Rclone is a pure open source for love-not-money project. However I’ve had requests for a donation page and coding rclone does take me away from something else I love - my wonderful wife.”
    “So if you would like to send a donation, I will use it to buy flowers (and other pretty things) for her which will make her very happy.”
    https://web.archive.org/web/20180624105005/https://rclone.or...

    • Saya pernah bertemu Nick secara langsung, dan dia memang orang yang sangat baik
  • rclone juga bisa me-mount cloud storage seperti disk lokal, jadi sangat cocok dipakai terutama di Kubernetes
    Kalau dipakai seperti drive pada folder yang berisi banyak file, kecepatan baca/tulisnya memang tidak terlalu tinggi, tetapi ini cara yang cepat dan mudah untuk memanfaatkan cloud storage dalam proyek
    Enkripsi end-to-end per lokasi juga dimungkinkan, jadi misalnya semua file yang dimasukkan ke drive yang di-mount akan ditulis ke folder /foo di Dropbox dalam keadaan terenkripsi. Ini bagus mengingat penyedia seperti Dropbox atau S3 masih belum mendukung enkripsi end-to-end native
    Secara keseluruhan, rclone adalah alat yang bagus untuk selalu ada di dekat Anda, dan benar-benar menyelesaikan banyak use case

    • Sangat mudah membuat server FTP sementara yang menyediakan storage lokal atau cloud
      Misalnya Pi4 saya mengekspos Dropbox ke jaringan internal lewat server FTP rclone, lalu server FTP terpisah dipakai agar printer jaringan bisa menyimpan file hasil scan. Di perangkat yang sama saya juga menjalankan backup otomatis cloud storage milik keluarga dan teman dekat dengan rclone. Di jaringan internal saya, rclone nyaris seperti penyelamat
    • Ini memang sangat bagus untuk penggunaan itu, tetapi Anda harus memastikan jaringannya stabil
      Saya me-mount Google Drive di desktop dan laptop, dan di laptop masalahnya sistem operasi menganggap drive itu lokal sementara rclone tidak timeout saat terjadi error jaringan. Kalau aplikasi mencoba membaca atau menulis ke drive saat Wi‑Fi tidak tersambung, semuanya bisa macet selamanya. Misalnya jika jendela Thunar di XFCE sedang terbuka, sebagian besar UI bisa terkunci
    • Hanya dengan mendengar “me-mount cloud storage ke disk lokal” saya belum langsung paham. Saya penasaran apakah ia memakai FUSE, 9p, driver, atau mekanisme lain untuk mengubah system call filesystem menjadi API call
      Ternyata memang FUSE
    • Saya penasaran apakah ada yang berhasil memakainya sebagai pengganti aplikasi sinkronisasi dua arah seperti Insync untuk Google Drive
      Insync juga kurang bagus dan Google Drive juga begitu, tetapi kalau dipakai untuk hal yang diandalkan setiap hari, saya merasa salinan file lokal dan sinkronisasi langsung antara lokal dan server itu wajib. Terutama saat koneksi internet tidak stabil
    • Saat menyebut enkripsi “e2e”, apakah yang dimaksud enkripsi sisi klien? S3 mendukung enkripsi sisi klien maupun sisi server
      Tentu saja, untuk mendukung enkripsi sisi klien biasanya layanan tidak perlu melakukan hal yang terlalu istimewa
      Bahkan ada klien S3 terenkripsi tersendiri untuk enkripsi sisi klien: https://docs.aws.amazon.com/amazon-s3-encryption-client/late...
  • Cara favorit saya memakai rclone adalah rclone ncdu: https://rclone.org/commands/rclone_ncdu/
    Sebagian besar penyedia ruang cloud tidak menunjukkan berapa banyak ruang yang sebenarnya dipakai tiap folder dan subfolder, dan di situlah rclone ncdu sangat pas

    • Saya suka ncdu, dan integrasinya dengan rclone sangat praktis
  • Saya memakai rclone setiap hari. Dalam beberapa kasus, ini menggantikan sshfs
    Saya mendorong share $Archive dari home server ke rsync.net, lalu menarik foto dari akun Google saya, istri saya, ibu, ayah, dan anak-anak ke $Archive. Saya juga mengumpulkan 3 akun cloud berbeda untuk $WORK ke $Archive, lalu mengirimkannya ke rsync.net
    Ini benar-benar alat kelas atas

    • Setelah bertahun-tahun memakai sshfs, saya baru tahu rclone bisa me-mount remote storage ke filesystem, dan sejak itu saya memakainya dengan baik
      https://rclone.org/commands/rclone_mount/
      Saat ini tidak ada orang yang aktif dan rutin berkontribusi ke SSHFS, dan ada beberapa issue yang sudah diketahui
      https://github.com/libfuse/sshfs#development-status
    • Kalau itu diambil dari Google Photos, saya rasa satu-satunya cara untuk mendapatkannya dalam kualitas asli adalah memakai Takeout
    • rsync.net juga menawarkan paket yang sedikit lebih murah kalau Anda tidak butuh semua fitur dan dukungan, dan hanya perlu arsip Borg: https://www.rsync.net/products/borg.html
  • Untuk backup, Restic juga layak dipertimbangkan. rclone dan Restic sangat cocok digunakan bersama
    https://www.bobek.cz/blog/2020/restic-rclone/

    • Kekurangan utama Restic murni adalah biasanya Anda harus menulis shell script sendiri untuk mengelola konfigurasi. Restic sendiri tidak punya fitur itu
      Untungnya ada https://github.com/creativeprojects/resticprofile yang mengatasi masalah ini
    • Sebagai langkah pencegahan tambahan, layak juga mempertimbangkan membuat backup append-only: https://ruderich.org/simon/notes/append-only-backups-with-re...
    • Tim Restic menolak backup yang tidak dienkripsi dengan alasan “demi keamanan”
      Saya tidak suka pendekatan yang menganggap seseorang selalu paling benar di segala situasi dan orang lain pasti salah
      Saya tahu apa yang saya lakukan, dan saya punya alasan yang sangat valid untuk tidak ingin mengenkripsi backup
      Restic seharusnya bisa tetap mengenkripsi secara default, tetapi mengizinkan switch seperti --do-not-encrypt
      Keangkuhan para pengembangnya mengejutkan, dan karena itu saya tidak akan memakai Restic. Sangat disayangkan karena ini solusi backup yang sangat bagus
      Lebih baik coba Borg
    • Saya menggunakan keduanya
      Beberapa mesin melakukan backup per jam ke server lokal dengan Restic, lalu saya menyinkronkan backup itu setiap hari ke S3 dengan rclone
      Dengan cara ini jumlah operasi baca/tulis berkurang, pemulihan lebih cepat, dan mesin yang punya izin akses ke S3 bisa dibatasi hanya satu
    • duplicacy juga layak dilihat: https://twitter.com/ArtemR/status/1159392251992145920
      https://github.com/gilbertchen/duplicacy
  • Rclone mendukung banyak backend storage, dan juga menyediakan backend crypt yang bisa mengenkripsi backend storage apa pun
    https://rclone.org/overview/
    https://rclone.org/crypt/

  • Saya suka bahwa di halaman utamanya mereka dengan percaya diri menonjolkan bahwa mereka selalu melakukan verifikasi checksum
    Dulu saya kaget melihat betapa banyak alat yang melewatkan langkah ini. Memang jadi lebih lambat, tetapi saat menyinkronkan antar cloud storage, kemungkinan besar justru inilah situasi di mana Anda benar-benar ingin memeriksa checksum

    • Kutipan pujian di bagian paling atas, “tidak bisa dibedakan dari sihir”, sempat terdengar agak angkuh, tetapi sekarang saya sedang melihat apakah klaim luar biasa seperti ini memang didukung bukti yang luar biasa
  • Seseorang melihat klien open source lalu melakukan reverse engineering pada Proton Drive API untuk membuat plugin Rclone
    Saat ini itulah satu-satunya cara menggunakan Proton Drive di Linux

    • Saya tidak tahu rclone punya dukungan Proton Drive. Karena saya sempat berlangganan paket Visionary ketika dibuka lagi sebentar, sekarang saya juga bisa memanfaatkan storage itu
  • Rclone adalah alat yang terasa seperti sihir, dan saya sudah memakainya untuk banyak kegunaan berbeda
    Saat terakhir saya cek, itu tidak memakai AWS SDK atau versi Go-nya terbatas, sehingga tidak semua pengaturan di .aws/config bisa digunakan
    Namun ini alat serbaguna, jadi masih bisa dimaklumi kalau tidak mendukung semua fitur backend
    Di dokumentasinya ada banyak peringatan tentang fitur yang tidak lagi dirawat, seperti caching, dan fitur eksperimental. Peringatannya sendiri adil, tetapi tidak menjelaskan batasan spesifiknya dengan jelas

  • Saya jelas menyukai Rclone. Ini alat yang sangat berharga ketika orang-orang yang kurang paham teknis menyimpan banyak data di cloud konsumen/bisnis, lalu data itu perlu dibawa ke server untuk diproses lebih lanjut dengan cara apa pun
    Jika datanya banyak dan internet rumah kurang bagus, ini juga sangat bagus untuk transfer langsung antar cloud. Jalankan rclone di server dengan jaringan yang baik di bawah tmux, dan pekerjaannya akan terus berjalan meski komputer saya tidak menyala

    • tmux sebenarnya tidak wajib
      nohup /usr/bin/rclone ... &>/dev/null &
      Jalankan seperti ini, lalu prosesnya tetap berjalan meski Anda logout