Backup Data dengan Rsync

Tentang Rsync

Rsync adalah tool untuk transfer dan sinkronisasi file atau tree (struktur direktori dan file) secara satu arah, baik transfer lokal (di sistem yang sama) maupun remote (jaringan/internet). Rsync merupakan tools kecil yang powerful karena bisa bertindak sebagai server sekaligus sebagai klien.

Keunggulan Rsync

  1. Hemat bandwidth dan Mendukung Resume. Jika di sisi penerima, file yang ingin dikirimkan sudah ada, tapi belum tentu sama (misalnya ukurannya lebih kecil/besar atau terdapat perbedaan karena versinya lebih lama), maka rsync dapat melakukan serangkaian pengecekan perbandingan checksum terhadap blok-blok dalam file di kedua sisi, untuk meminimalisasi jumlah data yang harus ditransfer. Algoritma ini disebut algoritma rsync. Bahkan sebetulnya rsync bermula dari sebuah paper yang menjelaskan algoritma ini.Jadi, misalnya Anda memiliki 2 buah versi file berukuran kurang lebih 100MB di dua tempat, dengan rsync Anda mungkin Anda hanya membutuhkan transfer data sebesar 50MB, 10MB, atau bahkan di bawah 1MB untuk menyamakan kedua buah versi file ini, bergantung pada seberapa mirip kedua file tersebut sebelumnya.Atau, misalnya Anda sedang mentransfer file besar lalu putus di tengah jalan. Anda dapat menjalankan kembali rsync dan rsync akan melanjutkan kembali transfer dari posisi putus dan memastikan hasil akhirnya nanti sama.
  2. Cepat. Rsync cepat salah satunya karena algoritma rsync yang disebutkan di atas. Selain itu rsync dapat melakukan kompresi data saat transfer. Dibandingkan FTP pun rsync lebih cepat karena dapat melakukan pipelining, sementara transfer menggunakan FTP boros koneksi TCP/IP untuk setiap file yang ditransfer. Ini akan semakin kentara untuk tree berisi file kecil-kecil yang jumlahnya banyak (misalnya file-file website yang umumnya berisi banyak file HTML dan gambar), di mana rsync dapat beberapa kali hingga belasan kali lebih cepat dari FTP.
  3. Fleksibel. Rsync tidak hanya bisa mentransfer file tunggal, tapi juga direktori dan tree secara rekursif. Anda bisa memilih untuk menghapus file/direktori yang sudah tidak ada dari sisi pengirim tapi masih ada di sisi penerima. Anda juga bisa memilih untuk melakukan proses sinkronisasi  metadata file seperti permission, kepemilikan, tanggal, ACL, dll. Rsync dapat menangani link simbolik, hardlink, device, dll. Selain opsi tersebut, masih banyak opsi lainnya, termasuk yang sering juga dijumpai di tool lain seperti tar, cp, dll.
  4. Kemudahan Setup. Jika setup samba membutuhkan waktu yang cukup panjang, rsync bisa kita siapkan dalam waktu kurang dari 5 menit sehingga sangat membantu jika kita ingin melakukan penyalinan data tanpa harus melakukan setup yang rumit.

Kutipan keunggulan rsync diambil dari tulisan Steven Haryanto, Menggunakan Rsync.

Setup Rsync Server pada openSUSE :

  1. Install paket rsync melalui YAST atau melalui konsole. Jika melalui konsole, proses install dapat dilakukan dengan perintah :
  2. zypper in rsync
  3. Ubah konfigurasi file /etc/rsyncd.conf
  4. Contoh konfigurasi :
  5. gid = users
    read only = true
    use chroot = true
    transfer logging = true
    log format = %h %o %f %l %b
    log file = /var/log/rsyncd.log
    pi