Halo, Kawan Belajar!
Di era digital ini, transfer data yang cepat, efisien, dan aman menjadi kebutuhan mutlak. Salah satu alat yang terbukti andal dan efisien untuk tugas ini adalah Rsync. Artikel ini memberikan panduan praktis penggunaan Rsync, mencakup perintah dasar dan contoh penggunaan untuk membantu kamu mengoptimalkan proses transfer data. Silakan simak panduan lengkapnya dibawah ini ya.
Apa Itu Rsync?
Remote synchronization, atau yang biasa dikenal dengan Rsync, adalah perangkat lunak berbasis baris perintah yang memungkinkan kamu untuk menyalin dan menyinkronkan file dan direktori secara efisien antara dua lokasi, baik lokal maupun remote. Kawan Belajar bisa mengenal Rsync lebih dalam pada artikel kami berikut: Mengenal Rsync: Pengertian, Kegunaan, dan Keunggulan
Persyaratan Awal Menggunakan Rsync
Sebelum menggunakan Rsync, berikut beberapa syarat yang perlu kamu penuhi terlebih dahulu:
Memiliki hak akses koneksi SSH ke server
Untuk melakukan remote transfer, pastikan Rsync sudah terinstal pada kedua server (Baca juga: Cara Melakukan Instalasi Rsync pada Linux dan Windows)
Perintah Dasar Rsync
Berikut ini adalah perintah dasar untuk menggunakan Rsync:
rsync [option] [source] [destination]
Pada perintah tersebut, ada tiga komponen yang dapat kamu tentukan:
Option merupakan pilihan yang ingin kamu lakukan terhadap file atau direktori. Ini dilakukan menggunakan beberapa opsi yang tersedia di Rsync.
Source merupakan sumber file atau atau sumber direktori yang ingin ditransfer.
Destination merupakan direktori yang ingin dituju
Perintah Dasar Rsync untuk Remote Shell
Perintah Rsync akan berbeda jika kamu menggunakan remote shell, seperti SSH. Gunakan perintah Rsync di bawah ini untuk mengakses remote shell (PULL ):
rsync [option] [user@]host:source [destination]
Jalankan perintah Rsync ini untuk mengakses remote shell (PUSH ) :
rsync [option] [source] [user@]host:[destination]
Opsi yang Sering Digunakan
Rsync menyediakan banyak sekali pilihan, di antara banyaknya opsi tersebut, berikut beberapa opsi yang paling sering digunakan:
-v atau --verbose
Memberikan visual output yang terjadi selama proses transfer.
-a atau --archive
Mode arsip yang mencakup penyalinan rekursif dan mempertahankan atribut file seperti izin file, stempel waktu,dan tautan simbolik.
-r atau --recursive
Menyalin direktori secara rekursif.
--delete
Melakukan mirroring dengan menyesuaikan file dan direktori antara sumber dan tujuan.
--exclude=POLA
Mengecualikan file atau direktori yang cocok dengan pola yang ditentukan.
--include=POLA
Menyertakan file atau direktori yang cocok dengan pola yang ditentukan.
-z atau --compress
Melakukan kompresi data file selama transfer untuk mengurangi penggunaan bandwidth.
--dry-run
Melakukan uji coba tanpa melakukan perubahan nyata.
-u atau --update
Melewati file di sisi tujuan yang lebih baru dari file sumber sehingga hanya file lama yang diperbarui.
-h
Menampilkan output yang mudah dibaca manusia.
-P atau --progress
Menampilkan kemajuan selama transfer.
Untuk daftar lengkap semua pilihan Rsync yang tersedia, kamu dapat menjalankan perintah berikut:
rsync --help
Contoh Penggunaan Rsync
Berikut dibawah ini beberapa contoh penggunaan atau penerapan rsync.
Menyalin File dan Direktori Secara Lokal
Untuk menyalin file secara lokal, kamu dapat menggunakan perintah berikut yang akan menyalin satu file di mesin lokal dari satu lokasi ke lokasi lain dengan tetap mempertahankan atribut file tersebut.
rsync -azvh source/dir1/file1.txt destination/
Pada contoh tersebut, Rsync akan terlebih dahulu membuat direktori destination apabila belum tersedia, sebelum kemudian menyalin file dengan nama file1.txt.
Adapun untuk menyalin direktori secara rekursif, kamu dapat menggunakan perintah berikut:
rsync -avzh source/dir1/subdir1 dst
Menyalin File dan Direktori ke Remote Server
Untuk menyalin direktori dari server lokal ke remote server, kamu dapat menggunakan perintah berikut:
rsync -avzh source/dir1/file2.txt user@host:/root/destination/
Dengan demikian file bernama file2.txt yang semula berada di server lokal saja, sekarang tersedia pada direktori /root/destination/ yang ada pada remote server tujuan.
Kemudian, apabila kamu ingin menyalin direktori secara remote server, kamu dapat menggunakan perintah berikut:
rsync -rvzh -e 'ssh -p 2201' dir1/source/ user@host:/root/destination/
Menyalin File dari Remote Server ke Server Lokal dengan SSH
Berikut perintah yang dapat kamu gunakan untuk menyalin file dari remote server ke server lokal:
rsync -avzh -e 'ssh -p 2201' user@host:/root/destination/nyoba.txt dst/
Menampilkan Progress Ketika Mentransfer Data
Untuk menunjukkan progres saat mentransfer data dari satu server ke server lain, kamu dapat menggunakan pilihan --progress atau -P, yang menampilkan file dan waktu yang tersisa untuk menyelesaikan transfer. Sebagai contoh berikut cara mentransfer file dengan nama transfer.txt dengan menampilkan progres.
rsync -avzh -e 'ssh -p 2201' --progress source/dir1/transfer.txt user@host:/root/dst/
Melakukan Mirroring dengan Rsync
Jika file atau direktori tidak ada di sumbernya, namun sudah ada di tujuan, kamu mungkin ingin menghapus file atau direktori yang ada di target saat menyinkronkan. Kamu dapat menggunakan opsi --delete untuk menghapus file yang tidak ada di direktori sumber.
rsync -avzhP -e 'ssh -p 2201' --delete source/ user@host:/root/destination
Pada Gambar 9 tersebut tampak bahwa file yang tidak terdapat pada direktori sumber akan dihapus dari direktori tujuan. Namun, file yang belum terdapat pada direktori tujuan, akan disalin dari direktori sumber.
Mengecualikan File dengan Ekstensi Tertentu
Kamu dapat memanfaatkan opsi --exclude untuk memfilter file dengan ekstensi tertentu supaya tidak disertakan dalam proses transfer. Contoh penggunaanya adalah sebagai berikut:
rsync -rvhP -e 'ssh -p 2201' --exclude='*.bin' /root/source/dir1/subdir1/ user@host:/root/dst/
Dalam contoh yang diberikan, Rsync akan mengecualikan file dengan ekstensi yang ditentukan (*.bin) selama transfer, namun akan tetap menyalin file lainnya.
Menghapus File Sumber Setelah Transfer
Misalkan kamu dihadapkan pada suatu kondisi dimana memiliki web server utama dan juga server cadangan, kamu membuat backup harian dan menyinkronkannya dengan server cadangan, namun kamu tidak ingin penyimpanan server web utama kamu penuh. Dengan demikian, kamu dapat menggunakan opsi --remove-source-files untuk menghapus file sumber setelah dilakukan transfer ke tujuan.
rsync -rvhP -e 'ssh -p 2201' --remove-source-files /root/backupwebsite/website_backup_11072024_01\:00.tar.gz user@host:/root/dst/
Uji Coba Menyalin File Dengan Opsi --dry-run
Jika kamu ingin melakukan uji coba perintah Rsync, namun tidak benar benar melakukan transfer data dengan menggunakan Rsync. Maka gunakan opsi --dry-run, dengan begitu kamu hanya akan diberikan output yang akan terjadi ketika perintah dijalankan, tanpa benar-benar dilakukan oleh sistem.
Penutup
Demikian panduan lengkap mengenai penggunaan Rsync untuk keperluan transfer dan sinkronisasi data, baik secara lokal maupun antar server. Dengan memahami perintah dasar, opsi-opsi penting, serta contoh penggunaannya, diharapkan kamu dapat memanfaatkan Rsync secara optimal dalam pengelolaan data dan sistem.
Semoga artikel ini bermanfaat dan membantu kamu dalam meningkatkan efisiensi serta keamanan dalam proses transfer data. Jangan ragu untuk mengeksplorasi lebih lanjut dan mencoba langsung di lingkungan server kamu. Selamat mencoba, Kawan Belajar!