Panduan lengkap penggunaan Rsync untuk transfer dan sinkronisasi data secara efisien di Linux, termasuk perintah dasar, opsi umum, dan contoh praktik terbaik.
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.
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
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)
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 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]
Rsync menyediakan banyak sekali pilihan, di antara banyaknya opsi tersebut, berikut beberapa opsi yang paling sering digunakan:
-v atau --verboseMemberikan visual output yang terjadi selama proses transfer.
-a atau --archiveMode arsip yang mencakup penyalinan rekursif dan mempertahankan atribut file seperti izin file, stempel waktu,dan tautan simbolik.
-r atau --recursiveMenyalin direktori secara rekursif.
--deleteMelakukan mirroring dengan menyesuaikan file dan direktori antara sumber dan tujuan.
--exclude=POLAMengecualikan file atau direktori yang cocok dengan pola yang ditentukan.
--include=POLAMenyertakan file atau direktori yang cocok dengan pola yang ditentukan.
-z atau --compressMelakukan kompresi data file selama transfer untuk mengurangi penggunaan bandwidth.
--dry-runMelakukan uji coba tanpa melakukan perubahan nyata.
-u atau --updateMelewati file di sisi tujuan yang lebih baru dari file sumber sehingga hanya file lama yang diperbarui.
-hMenampilkan output yang mudah dibaca manusia.
-P atau --progressMenampilkan kemajuan selama transfer.
Untuk daftar lengkap semua pilihan Rsync yang tersedia, kamu dapat menjalankan perintah berikut:
rsync --help
Berikut dibawah ini beberapa contoh penggunaan atau penerapan rsync.
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
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/
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/
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/
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.
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.
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/
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.
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!
Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.