Pengantar:
Rsync adalah sebuah tool backup di linux yang melakukan sinkronisasi data diantara dua lokasi yang berbeda.
Lokasi yang dimaksud bisa berada dalam 1 komputer tetapi beda path atau partisi, bisa juga melibatkan komputer yang berbeda.
Skenario:
Pada skenario ini rsync akan di implementasikan antara 2 server, dimana Server-A adalah server utama dan server-B adalah server backup.
Rsync akan dijalankan melalui server-A dimana data akan disinkronisasikan dari server-A terhadap server-B. Karena sinkronisasi data
melibatkan 2 komputer maka diperlukan authentikasi menggunakan ssh-keygen dari server-A ke server-B, authentikasi ini bertujuan untuk
mengindari penggunaan password pada saat menjalin komunikasi.
Perintah dari rsync adalah sebagai berikut:
rsync [option] [source] [destination]
source: sumber data yang akan dicopy
destination : tujuan penyimpanan data
Pastikan paket berikut sudah terinstall di server-A dan server-B : rsync dan openssh-server
1. Login sebagai root di server-A:
Create key:
#ssh-keygen -t rsa
Copy file id_rsa.pub (publik key) dari direktory /root/.ssh/id_rsa.pub ke sisi server-B.
#scp /root/.ssh/id_rsa.pub rsync.user@ip-server-B:/home/rsync.user/id_rsa.pub_server-A
2. Login sebagai rsync.user di server-B:
Create key:
$ssh-keygen -t rsa
$cat /home/rsync.user/id_rsa.pub_server-A >> /home/rsync.user/.ssh/authorized_keys
testing ssh dari server-A lewat user root, seharusnya komunikasi terjalin tanpa pasword:
ssh rsync.user@ip-server-B
3. Sinkronisasi data dari server-A ke server-B
Login sebagai root di server A:
#rsync -avz /exports/share/IT/test-rsync/ –delete -e ssh rsync.user@ip-server-B:/backup/test-rsync/
opsi : -a = merupakan mode archive yang akan menyalin semua atribut file atau folder
-v = menampilkan data yang disalin pada layar
-z = kompresi data ketika terjadi penyalinan data
–delete (minus minus delete) = menghapus file yang ada di destination akan tetapi tidak ada di source dengan melakukan perbandingan terlebih dahulu.
-e = remote yang digunakan adalah ssh
Catatan : – pastikan user-rsync sudah memiliki akses ke folder destination.
– rsync hanya akan mengkopi file yang ada di source akan tetapi tidak ada di destination dan file yang tanggal modifikasinya lebih baru di source dibanding dengan destination.
– hati-hati dengan opsi –delete, pastikan path destination dengan benar karena opsi ini akan menghapus semua folder dan file yang ada di dalam folder destination akan tetapi tidak ada di source.
– sinkronisasi sebaiknya dilakukan dengan penjadwalan di crontab.