Tips dan Cara Menggunakan RClone untuk Backup Data ke Berbagai Layanan Cloud

rclone Nov 17, 2019

Backup data untuk server aplikasi web sudah menjadi kewajiban, tidak ada server yang menjamin tidak akan pernah terjadi kerusakan hardware dan data pada server yang kita sewa, untuk data-data kita pada server sepenuhnya menjadi tanggung jawab kita, biasanya penyedia server web tidak akan bertanggung jawab jika terjadi kerusakan/kehilangan data. jadi keamanan data sepenuhnya tanggung jawab kita.

RClone adalah salah satu tools yang sangat berguna untuk singkron data dari server ke layanan cloud, semisal google drive, dropbox, dan lainnya atau ke layanan object storage seperti aws-s3, minio, backblaze, wasabi dan lainnya, untuk installasi dan konfigurasi dapat dibaca pada artikel sebelumnya Cara Install dan Konfigurasi RClone Untuk Backup Data ke Berbagai Layanan Cloud. pada bagian ini penulis akan merincikan command yang sering penulis pakai di rclone.

RClone Copy

membuat copy dari file server ke cloud, skip file jika sudah dicopy, rclone tidak akan mentransfer file yang tidak berubah, pengujian berdasarkan ukuran dan waktu modifikasi atau MD5SUM. Tidak menghapus file dari cloud. Jika path/folder di cloud tidak ada, maka akan dibuat

#rclone copy source:sourcepath dest:destpath
rclone copy Server01:Data/ MyGoogleDrive:Data/
rclone copy

RClone Sync

Hampir sama dengan Copy, hanya merubah file pada cloud tujuan saja. Tidak mentransfer file yang tidak berubah, pengujian berdasarkan ukuran dan waktu modifikasi atau MD5SUM. Tujuan diperbarui untuk mencocokkan sumber, termasuk menghapus file jika perlu. perbedaanya adalah Sync membuat isi folder identik, dan hanya memodifikasi pada cloud tujuan saja, sehingga jika kita melakukan delete di server, maka rclone sync akan melakukan delete di cloud tujuan.

#rclone sync source:path dest:path [flags]
#rclone flags cek disini https://rclone.org/commands/rclone_sync/
rclone sync Server01:Data/ MyGoogleDrive:Data/
rclone sync

RClone Move

Memindah file dari server ke cloud, rclone akan error jika cloud tujuan tumpang tindih dan tidak mendukung transfer direktori sisi server. kita dapat memindahkan hanya sebagian data saja menggunakan filter, untuk perintah move data dengan rclone harus hati-hati, uji terlebih dahulu dengan flag --dry-run.Gunakan flag -P untuk melihat statistik transfer real-time.

# rclone move source:path dest:path [flags]
# flags dilihat disini https://rclone.org/commands/rclone_move/
rclone move Server01:Data/ MyGoogleDrive:Data/
rclone move

Rclone Ls, Lsd, Delete, Purge, Mkdir, Rmdir

Untuk List seluruh file gunakan perintah ls, perintah ini akan menampilkan semua file dan ukuran yang ada pada remote yang dibuat.

rclone ls NajaBackblaze:
rclone ls NajaBackblaze:nama-folder/
rclone ls

Untuk melihat directories/containers/buckets pada remote sesuai dengan struktur path agar lebih mudah dibaca, gunakan perintah lsd.

rclone lsd NajaBackblaze:
rclone lsd NajaBackblaze:nama-folder/
rclone lsd

untuk mendelete file pada directories/containers/buckets gunakan perintah delete, perintah ini akan mendelete file namun tidak pada struktur tablenya, jika ingin dengan struktur table gunakan perintah purge.

rclone remove NajaBackblaze:Data/Folder/
rclone purge NajaBackblaze:Data/Folder/
rclone remove purge

untuk membuat folder di remote cloud, gunakan perintah mkdir, perintah ini akan membuat folder baru jika tidak ada, jika ada akan di skip.

rclone mkdir NajaBackblaze:Data/Folder/
rclone mkdir NajaBackblaze:Data/Folder/Lainya
rclone mkdir

untuk mendelete folder di remote cloud, gunakan perintah rmdir, perintah ini akan mendelete folder, dengan syarat foldernya empty, jika ada harus delete file nya terlebih dahulu.

rclone rmdir NajaBackblaze:Data/Folder/
rclone rmdir NajaBackblaze:Data/Folder/Lainnya
rclone rmdir

Tips Memindahkan Sebagian File pada Folder dengan RClone

Untuk memindahkan hanya sebagian file pada direktori, kita harus memanfaatkan fungsi filtering yang ada pada rclone, misalkan berikut struktur file dalam folder kita :

#struktur file
data/file-latihan1.txt
data/file-latihan2.txt
data/belajar-web1.html
data/belajar-web2.html
data/foto1.jpg
data/foto2.jpg
data/log1.bak
data/log2.bak
struktur file

Perintah Memindah Semua Data, Kecuali file Log dengan extensi .bak

rclone --filter="- *.bak" move data/ MyGoogleDrive:Data/
rclone move dengan filter

Perintah Memindah Data, hanya file yang ber extensi .html

rclone --exclude="*" --include="*.html" move data/ MyGoogleDrive:Data/
rclone move dengan filter

Masih banyak lagi kombinasi yang bisa digunakan, sesuai dengan kebutuhan, ada baiknya untuk memindah, singkron atau delete dicoba dulu pada tempat lain, sehingga kalau terjadi kesalahan command akibatnya tidak fatal.

M. Najamudin Ridha

Penikmat coffe cappucino ice, apalagi tanpa gula. Menyukai teknologi open source, terutama yang berbasis web dan mobile, senang mencoba hal - hal seperti linux, sysadmin, database dan programming