Apa itu rsync? rsync adalah salah satu metode yang digunakan untuk sinkronisasi data antar server. Berbeda dengan mengirimkan data secara utuh seperti biasanya lewat FTP atau SCP misalnya, keunggulan rsync adalah transfer hanya perbedaan filenya saja atau sering disebut sebagai delta. Jadi ini mengurangi ukuran data yang ditransfer juga mempercepat proses transfernya sendiri.

Ilustrasinya kalau file backup website anda 59MB kemarin dan hari ini jadi 71MB maka yang terjadi adalah sekitar 12MB akan dikirimkan dan file di lokasi tujuan akan disama dengan yang di asal.

Apa syarat untuk menggunakan rsync? Sederhana kok, selama anda punya user di Linux dan sudah mengijinkan akses SSH maka anda sudah bisa menjalankannya. Kemudian silahkan install dulu aplikasinya:

  • Debian/Ubuntu:
    apt-get install rsync
  • CentOS/Fedora:
    yum install rsync

Mari dimulai dari pengenalan dasarnya dulu. Masih dalam VPS yang sama, jadi misal anda ingin menyamakan isi direktori backup dari satu lokasi ke lokasi lain, tinggal eksekusi:

rsync -avzh direktori_asal direktori_tujuan

Kurang lebih akan muncul pesan informasi seperti ini nantinya:

sending incremental file list
created directory /home/direktori_tujuan
backup/
backup/servernesia.sql
backup/servernesia.tar.gz

sent 68.91M bytes  received 95 bytes  12.53M bytes/sec
total size is 107.49M  speedup is 1.56

Misal direktori tujuan tidak ada maka akan ikut otomatis dibuatkan juga beserta isinya.

Tapi rsync cukup sering digunakan untuk mensinkronkan data atau file antara 2 server yang berbeda, dan untuk saya adalah backup. Saya awali dengan contoh rsync mendorong filenya ke VPS lain:

rsync -rvzh /home/backup [email protected]:/home/backup/backup_1

Atau juga bisa dibalik dimana kita menarik data dari VPS lain kesini:

rsync -rvzh [email protected]:/home/backup/backup /home/backup_2

Pada keduanya nanti akan muncul permintaan mengisikan password root atau user yang digunakan.

Secara default rsync bekerja lewat SSH tapi kalau di server tujuan sudah ada daemonnya maka bisa juga mendengarkan di port 873.

Oh ya, dalam eksekusi rsync tidak ada caranya menyisipkan parameter password user Linux, jadi memang tidak bisa langsung tersambung. Solusinya bisa diakali dengan sshpass atau sangat disarankan memakai SSH Key karena lebih aman untuk login tanpa password.