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
    pid file = /var/run/rsyncd.pid
    #hosts allow = trusted.hosts
    slp refresh = 300
    
    [Home-Vavai]
    path = /home/vavai
    comment = Data-vavai
    #       auth users = user
    #       secrets file = /etc/rsyncd.secrets
    
    [iso]
    path = /srv/www/htdocs
    comment = file iso vavai

    Yang perlu diubah adalah bagian #hosts allow = trusted.hosts (diganti dengan IP komputer client yang boleh mengakses) dan pada bagian yang dimulai dengan kurung siku [ ]. Bagian ini adalah bagian yang akan dishare. Dalam contoh diatas, saya melakukan share 2 buah folder, yaitu /home/vavai dan /srv/www/htdocs. Silakan sesuaikan dengan folder share yang diinginkan.

  6. Kita juga dapat membuat file teks /etc/rsyncd.motd yang berisi tulisan selamat datang (Message of the Day) dan menambahkan opsi motd file = /etc/rsyncd.motd pada file /etc/rsyncd.conf diatas
  7. Restart service rsync dengan perintah :
    service rsyncd restart
  8. Test dengan perintah melalui konsole :
    rsync IP-Address-Server::

    misalnya

    rsync 192.168.0.1::

    Catatan : IP bisa diganti dengan hostname, misalnya rsync vavai.vavai.com::

Setting Client

  1. Install paket rsync melalui YAST atau melalui konsole. Jika melalui konsole, proses install dapat dilakukan dengan perintah :
    zypper in rsync
  2. Check rsync server dengan perintah pada konsole :
    rsync ip-address-server::

    misalnya

    rsync 192.168.0.1::
  3. Jika menginginkan folder tertentu, kita bisa masuk ke folder tersebut sesuai data yang tampil pada saat kita tampilkan perintah rsync, misalnya
    rsync 192.168.0.1::Home-Vavai/

    . Jangan lupa menambahkan simbol / pada akhir folder yang artinya ingin melihat isi dari folder tersebut.

  4. Untuk melakukan copy data, gunakan perintah berikut :
    rsync -av ip-address-server::nama-folder-share nama-folder-tujuan/

    contoh :

    rsync -av 192.168.0.1::Home-Vavai/ /srv/www/htdocs/backup

    . Itu artinya kita akan melakukan copy isi dari rsync share dengan nama Home-Vavai ke folder /srv/www/htdocs/backup.

  5. Kita bisa juga memastikan agar folder tujuan selalu memiliki versi dan data yang sama dengan rsync dengan opsi -av –delete
  6. Kita juga dapat mengecualikan suatu file / folder tertentu dari proses dengan opsi –exclude.
  7. Silakan merefer pada manual rsync untuk pilihan lain yang lebih lengkap.

Link Terkait :

  1. http://samba.anu.edu.au/rsync/
  2. Rsync,Fasilitas Salin Data Multi Fungsi dan Mudah Dikonfigurasi
  3. Membuat Mirror openSUSE
  4. Menggunakan Rsync
  5. Rsync, Fasilitas Salin Data Raksasa

Tutorial

Tutorial openSUSE

Archives

Copyright Komunitas openSUSE Indonesia 2007-2012
Log in - BlogNews Theme by Gabfire themes