Cara Sinkronisasi file dan folder pada 2 (dua) server yang berbeda secara realtime pada OS Linux Debian 9
Hello gaes
kali ini saya akan membagikan bagaimana cara nya melakukan sinkronisasi folder 2 PC OS linux debian 9 yang berbeda dengan realtime. aplikasi yang kita butuhkan adalah sebagai berikut :
Baiklah, ditutorial ini kita akan coba melakukan sinkronisasi dari server A (192.168.88.216) ke server B(192.168.88.215).
Berikut adalah summary tutorialnya :
1) buat folder yang akan disinkronisasikan
2) install rsync, buat script rsync, setting SSH
3) install inotify, buat script inotify
4) gabungin script inotify dan rsync, lalu jalankan secara bersamaan
Kita langsung saja ke TKP ..
1 folder di server A (192.168.88.216), 1 lagi di server B (192.168.88.215).
Buat folder di server A :
chmod 0777
ganti shareserver1 dengan nama folder kamu yang akan disinkronkan.
Buat folder di server B :
ganti shareserver2 dengan nama folder kamu yang akan menjadi tujuan sinkron.
Kemudian masukkan script berikut ke rsync.sh :
Keterangan :
Rsync akan melakukan sinkronisasi dari folder shareserver1(192.168.88.216) ke folder shareserver2(192.168.88.215). Terdapat script
Berikut cara setting SSH :
Konfigurasi di server A :
1) Masih di server A, pastikan kita sudah login ke user root :
2) Abis itu, buat keygen SSH :
Jika ada notifikasi, enter enter aja, sampe selesai.
Saat script diatas akan menggenerate file
3) Masih di server A, buat folder .ssh di server B.
Jika muncul yes/no. Pilih yes, trus enter.
Nanti dia minta password. Masukkin password root server B.
4) Copy file
Jika minta password lagi, masukkan password root server B.
5) Set permission folder .ssh :
6) Sekarang tinggal testing login SSH ke server B.
Lihat, tidak ada inputan password saat login SSH.
Kemudian tekan
exit
1) Pada server A, buat sebuah folder “test” di dlm folder sync_a.
2) Buka terminal, ketikkan :
Script diatas akan mensinkronisasikan folder “test” dari server A, ke server B.
3) Sekarang lihat folder shareserver2 pada server B. Akan ada folder “test” juga.
Urusan setting aplikasi
Lalu ektrak :
Masuk ke folder inotify :
Konfigurasi dulu inotify sebelum diinstal :
./configure
Cek inotify bahwa sudah terinstall :
hasilnya :
Disini kita akan mengetes untuk memonitoring folder
Masih di server A, buka terminal lalu jalankan script berikut :
Keterangan :
-r artinya recursive
-e artinya event, kita pakai event close_write,delete,move
Jika script diatas dijalankan, maka Inotify akan aktif secara realtime :
Sekarang coba buat folder “test_2” didalam folder
Yup, urusan Inotify dah sampai sini, sekarang lanjut ke cara menggabungkan script Rsync dan Inotify.
Dan script Inotify :
Sekarang tinggal kita gabungan scriptnya.
Masih di server A(jgn lupa login sbg user root), buka file rsync.sh tadi, lalu pastekan script berikut :
Keterangan :
di atas terdapat
Sebagai contoh, coba kita test..
– Jalankan dulu script rsync.sh
– Lalu buat folder “test_3” didalam folder “shareserver1”.
– Otomatis folder “test_3” akan tersinkronisasi juga ke folder “shareserver2” pada server B
Cukup sekian, semoga bermanfaat ..
"BERBAGI ITU INDAH".
jangan lupa ya doakan orang tua, anak dan istri saya agar sehat selalu.. amien
kali ini saya akan membagikan bagaimana cara nya melakukan sinkronisasi folder 2 PC OS linux debian 9 yang berbeda dengan realtime. aplikasi yang kita butuhkan adalah sebagai berikut :
- Rsync
- Aplikasi untuk sinkronisasi file/folder dari satu server ke server yang berbeda. Jadi misal ada file baru di server A, maka tinggal jalankan script rynsc dan file tsb akan tercopy ke server B.
Tapi sayangnya, Rsync gak bisa mensinkronisasi secara realtime. Jadi ketika ada perubahan file lagi pada server, kita harus menjalankan ulang script rsync lewat CLI secara manual.
- Inotify:
- Aplikasi untuk memonitoring perubahan file/folder secara realtime. Jika ada perubahan file/folder, maka akan terdeteksi lewat inotify. Mantep.. Hm, tp sayangnya dia cuma bisa memonitoring file/folder aja, gak bisa melakukan copy file (Sinkronisasi) ke server lain.
Baiklah, ditutorial ini kita akan coba melakukan sinkronisasi dari server A (192.168.88.216) ke server B(192.168.88.215).
Berikut adalah summary tutorialnya :
1) buat folder yang akan disinkronisasikan
2) install rsync, buat script rsync, setting SSH
3) install inotify, buat script inotify
4) gabungin script inotify dan rsync, lalu jalankan secara bersamaan
Kita langsung saja ke TKP ..
1. Buat folder untuk sinkronisasi
Pertama, buat 2 folder.1 folder di server A (192.168.88.216), 1 lagi di server B (192.168.88.215).
Buat folder di server A :
mkdir /home/shareserver1/ |
/home/shareserver1/
ganti shareserver1 dengan nama folder kamu yang akan disinkronkan.
Buat folder di server B :
mkdir /home/shareserver2/
|
2. Install Rsync, buat script Rsync, setting SSH
Selanjutnya kita masuk ke server A dulu :), lakukan step dibawah ini ..– Install Rsync di server A dengan script :
apt-get install rsync |
– Setelah terinstall, kita buat script rsync.sh :
touch /home/shareserver1/rsync.sh chmod 0777 /home/shareserver1/rsync.sh |
#!bin/bash rsync -a /home/shareserver1/ root@192.168.88.215:/home/shareserver2/ -- delete |
Rsync akan melakukan sinkronisasi dari folder shareserver1(192.168.88.216) ke folder shareserver2(192.168.88.215). Terdapat script
root@192.168.88.215
diatas, artinya sinkronisasi dilakukan melalui SSH. Jadi langkah selanjutnya kita setting SSH dulu.– Setting SSH
Setting SSH yg dimaksud disini adalah, menseting agar user bisa login SSH tanpa password. Jadi nanti server A akan login SSH ke server B tanpa password. Ini diperlukan supaya aplikasi Rsync bisa leluasa menyinkronisasikan file ke server B tanpa halangan password.Berikut cara setting SSH :
Konfigurasi di server A :
1) Masih di server A, pastikan kita sudah login ke user root :
su - root
|
ssh-keygen -t rsa |
Jika ada notifikasi, enter enter aja, sampe selesai.
Saat script diatas akan menggenerate file
id_rsa.pub
.3) Masih di server A, buat folder .ssh di server B.
ssh root@192.168.88.215 mkdir -p .ssh |
Nanti dia minta password. Masukkin password root server B.
4) Copy file
id_rsa.pub
yang sudah dibuat pada tahap 1, ke server B :cat .ssh/id_rsa.pub | ssh root@192.168.56.102 'cat >> .ssh/authorized_keys' |
5) Set permission folder .ssh :
ssh root@192.168.88.215 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"
|
ssh root@192.168.88.215
[root@server1 ~]#ssh root@192.168.88.215 Last Login: Fri Jan |
Kemudian tekan
exit
– Testing rsync.sh
Setelah berhasil setting SSH, sekarang saatnya menjalankan filersync.sh
.1) Pada server A, buat sebuah folder “test” di dlm folder sync_a.
2) Buka terminal, ketikkan :
sh /home/shareserver1/rsync.sh |
3) Sekarang lihat folder shareserver2 pada server B. Akan ada folder “test” juga.
Urusan setting aplikasi
Rsync
sudah sampai sini, selanjutnya kita masuk ke aplikasi Inotify
.3. Install Inotify, buat script Inotify
Masih di server A, masuk sebagai user root
apt-get
| install gcc make |
Install Inotify
Setelah itu download aplikasi inotify :wget http: //jensd.be/download/inotify-tools-3.14.tar.gz |
Lalu ektrak :
tar -xvzf inotify-tools-3.14.tar.gz |
Masuk ke folder inotify :
cd inotify-tools-3.14
./configure
make make install |
ls -l /usr/local/bin/inotify* |
hasilnya :
-rwxr-xr-x. 1 root root 60892 Jan 6 15:14 /usr/local/bin/inotifywait -rwxr-xr-x. 1 root root 55183 Jan 6 15:14 /usr/local/bin/inotifywatch |
Buat Script Inotify
Langkah selanjutnya membuat script inotify.Disini kita akan mengetes untuk memonitoring folder
shareserver1
pada server A.Masih di server A, buka terminal lalu jalankan script berikut :
inotifywait -r -e close_write, delete ,move /home/shareserver1 |
-r artinya recursive
-e artinya event, kita pakai event close_write,delete,move
Jika script diatas dijalankan, maka Inotify akan aktif secara realtime :
Sekarang coba buat folder “test_2” didalam folder
shareserver1
, maka otomatis aplikasi Inotify akan mendeteksi bahwa ada folder baru.Yup, urusan Inotify dah sampai sini, sekarang lanjut ke cara menggabungkan script Rsync dan Inotify.
4. Menggabungkan script Rsync dan Inotify, lalu menjalankannya bersamaan
Sebelumya kita sudah membuat script Rsync :#!bin/bash rsync -a /home/shareserver1/ root@192.168.88.215:/home/shareserver2/ -- delete |
Dan script Inotify :
inotifywait -r -e close_write, delete ,move /home/shareserver1/
|
Masih di server A(jgn lupa login sbg user root), buka file rsync.sh tadi, lalu pastekan script berikut :
#!/bin/bash while inotifywait -r -e close_write, delete ,move /home/shareserver1/; do rsync -a /home/shareserver1/ root@192.168.88.215:/home/shareserver2 -- delete done & exit 0 |
Keterangan :
di atas terdapat
while
, artinya inotifywait akan memonitoring file&folder secara berulang-ulang(looping). Jika Inotifywait menemukan adanya perubahan file/folder, otomatis script rsync -a /home/shareserver1/
akan dijalankan, dan otomatis sinkronisasi dilakukan ke server B.Sebagai contoh, coba kita test..
– Jalankan dulu script rsync.sh
sh
| /home/shareserver1/rsync.sh |
– Otomatis folder “test_3” akan tersinkronisasi juga ke folder “shareserver2” pada server B
Cukup sekian, semoga bermanfaat ..
"BERBAGI ITU INDAH".
jangan lupa ya doakan orang tua, anak dan istri saya agar sehat selalu.. amien
Komentar
Posting Komentar