Rabu, 07 Juni 2023

LSYNC-ubuntu multi server

 

Cara Sinkronisasi Direktori Secara Real-Time di Linux

https://musaamin.web.id/cara-sinkronisasi-direktori-secara-real-time-di-linux/

Cara Sinkronisasi Direktori Secara Real-Time di Linux

Sinkronisasi direktori di Linux dapat dilakukan dengan menggunakan rsync, dengan kombinasi cronjob sinkronisasi dapat berjalan secara otomatis pada waktu yang telah ditentukan. Namun pada situasi tertentu, kita ingin sinkronisasi berjalan secara live atau real-time ketika terjadi perubahan pada direktori atau file. Untuk kasus seperti itu kita bisa menggunakan tool lsyncd. lsyncd memantau perubahan pada direktori kemudian melakukan sinkronisasi ke target atau slave. Sinkronisasi hanya satu arah, dari source ke target.

0. Instalasi lsyncd

Di tutorial ini saya menggunakan distro Linux CentOS 7 untuk percobaan.

Instalasi lsyncd

1. Sinkronisasi di Lokal

File konfigurasi lsyncd berada di /etc/lsyncd.conf. Tersedia contoh konfigurasi di /usr/share/doc/lsyncd-2.2.2/examples.

a. Satu Source Satu Target

Percobaan pertama melakukan sinkronisasi dari folder /var/www/html ke folder /root/backup.

Buka file konfigurasi.

Ubah isinya menjadi seperti di bawah ini.

Aktifkan dan jalankan service.

Sekarang uji dengan melakukan perubahan pada folder /var/www/html dan periksa pada folder /root/backup apakah memiliki data yang sama.

Proses sinkronisasi terjadi di background, kita dapat memeriksa sinkronisasi apa saja yang telah dilakukan dengan membaca file log /var/log/lsyncd/lsyncd.log dan file status /var/log/lsyncd/lsyncd.status.

Jika masih ada folder yang ingin disinkronkan, tambahkan config sync.

Jangan lupa melakukan restart service setelah melakukan perubahan konfigurasi.

b. Satu Source Banyak Target

Percobaan kedua melakukan sinkronisasi dari satu sumber direktori ke lebih dari satu tujuan direktori. Target didefinisikan dalam array dan proses sinkronisasi dimasukkan ke dalam operasi pengulangan for.

c. Banyak Source Satu Target

Percobaan ketiga, banyak sumber direktori yang disinkronisasi ke satu direktori tujuan.

2. Sinkronisasi ke Remote Server

Selanjutnya sinkronisasi ke remote server. Sebelum melakukan konfigurasi lsyncd, terlebih dahulu mesin Master harus bisa login SSH ke Slave tanpa password.

Terdapat 3 mesin CentOS:

  1. Master: 45.76.180.137
  2. Slave 1: 149.28.153.15
  3. Slave 2: 139.180.208.163

a. Satu Source Satu Target

Pada opsi Target dituliskan nomor IP slave beserta direktorinya. Kemudian pada opsi rsync dituliskan perintah ssh login dengan username root dan private key.

b. Satu Source Banyak Target

selamat mencoba 🙂


===============================================================

Cara Sinkronisasi File dengan Unison

Cara Sinkronisasi File dengan Unison

Unison adalah sebuah tool untuk melakukan sinkronisasi file yang mendukung dua arah sinkronisasi, tersedia untuk sistem operasi Linux, OS X, Unix serta Windows. Unison dikembangkan oleh Benjamin C. Pierce, seorang profesor ilmu komputer di Universitas Pennsylvania, dan bersama kontributor lainnya di GitHub.

Install Unison

Install Unison di Ubuntu.

Sinkronisasi Antar Folder

Membuat dua folder.

Membuat 3 file di dalam folder1.

Mengecek isi folder1.

Sinkronisasi folder1 dengan folder2.

Tampil pertanyaan.

Tekan ENTER.

Menjalankan Unison pertama kali
Menjalankan Unison pertama kali

Dilanjutkan proses sinkronisasi dari folder1 ke (—->) folder2, jawab f.

Tampil pertanyaan.

Jawab y.

Unison synchronization
Unison synchronization

Mengecek isi folder2, apakah file dari folder1 sudah tersinkronisasi ke folder2.

Membuat 1 file baru di folder2.

Jalankan sinkronisasi.

File f2-data1.txt disinkronisasi ke folder1.

Sinkronisasi file baru
Sinkronisasi file baru

Mengecek isi folder1, apakah f2-data1.txt sudah ada.

Menambahkan teks ke dalam file f1-data1.txt yang berada di dalam folder2.

Jalankan sinkronisasi.

Tampilkan isi dari file f1-data1.txt yang berada di folder1, untuk memastikan file sudah tersinkronisasi.

Sinkronisasi ubah file
Sinkronisasi ubah file

Menghapus file f1-data3.txt yang berada di dalam folder2.

Jalankan sinkronisasi.

Mengecek isi folder1, apakah file f1-data3.txt sudah terhapus.

Sinkronisasi hapus file
Sinkronisasi hapus file

Sinkronisasi Antar Server

Untuk sinkronisasi antar server, kita akan mencoba sinkronisasi file yang berada di folder /var/www/html.

Ada 2 server yang digunakan, keduanya memakai Ubuntu Server 20.04.

  1. server01 = 128.199.153.187
  2. server02 = 128.199.208.184

Install Unison dan Apache

Install unison dan Apache di kedua server.

Membuat 3 file di server01.

Login SSH dengan Key

Setting server01 agar bisa login SSH ke server02 dengan menggunakan key.

server01
Membuat key.

Copy key ke server02.

Tes login SSH dengan key.

Membuat Unison Profile

Membuat file Unison profile yang berisi konfigurasi sinkronisasi.

Isi dari file web.prf.

Tes jalankan sinkronisasi dari profile web.prf.

Sinkronisasi antar server

Cek isi folder /var/www/html di server02, apakah sudah tersinkronisasi.

Membuat file di server02.

Jalankan kembali unison, lalu cek di server01 apakah file yang dibuat di server02 sudah tersinkronisasi.

Sinkronisasi file baru dari server02 ke server01
Sinkronisasi file baru dari server02 ke server01

Tambahkan teks di dalam file srv02-file1.html di server02.

Jalankan kembali unison, lalu cek di server01 apakah file yang diubah di server02 sudah tersinkronisasi.

Sinkronisasi ubah file antar server dari server02 ke server01
Sinkronisasi ubah file antar server dari server02 ke server01

Menghapus file srv02-file3.html di server02.

Jalankan kembali unison, lalu cek di server01 apakah file yang dihapus di server02 sudah tersinkronisasi.

Sinkronisasi hapus file antar server dari server02 ke server01
Sinkronisasi hapus file antar server dari server02 ke server01

Penjadwalan Sinkronisasi

Unison belum bisa secara otomatis melakukan sinkronisasi ketika ada perubahan file. Tapi, kita masih bisa melakukan penjadwalan sinkronisasi dengan cron job sehingga tidak perlu menjalankan unison secara manual.

Membuat cron job.

Jalankan unison setiap 5 menit.

Lakukan perubahan file dan cek kembali filenya setelah 5 menit.

Selamat mencoba 🙂

Gratis saldo $100 untuk pendaftaran akun baru di Vultr. Daftar di sini.

Tidak ada komentar:

Posting Komentar