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.
1
apt install unison
Sinkronisasi Antar Folder
Membuat dua folder.
1
mkdir folder1 folder2
Membuat 3 file di dalam folder1.
1
touchfolder1/f1-data{1..3}.txt
Mengecek isi folder1.
1
2
3
4
5
ls-lfolder1
-rw-r--r--1root root0Apr808:07f1-data1.txt
-rw-r--r--1root root0Apr808:07f1-data2.txt
-rw-r--r--1root root0Apr808:07f1-data3.txt
Sinkronisasi folder1 dengan folder2.
1
unison folder1 folder2
Tampil pertanyaan.
1
Press returntocontinue.[<spc>]
Tekan ENTER.
Dilanjutkan proses sinkronisasi dari folder1 ke (—->) folder2, jawab f.
1
2
3
4
folder1 folder2
file---->f1-data1.txt[f]f
file---->f1-data2.txt[f]f
file---->f1-data3.txt[f]f
Tampil pertanyaan.
1
Proceed with propagating updates?[]
Jawab y.
Mengecek isi folder2, apakah file dari folder1 sudah tersinkronisasi ke folder2.
1
2
3
4
5
ls-lfolder2
-rw-r--r--1root root0Apr808:13f1-data1.txt
-rw-r--r--1root root0Apr808:13f1-data2.txt
-rw-r--r--1root root0Apr808:13f1-data3.txt
Membuat 1 file baru di folder2.
1
touch folder2/f2-data1.txt
Jalankan sinkronisasi.
1
unison folder1 folder2
File f2-data1.txt disinkronisasi ke folder1.
Mengecek isi folder1, apakah f2-data1.txt sudah ada.
1
2
3
4
5
6
ls-lfolder1
-rw-r--r--1root root0Apr808:12f1-data1.txt
-rw-r--r--1root root0Apr808:12f1-data2.txt
-rw-r--r--1root root0Apr808:12f1-data3.txt
-rw-r--r--1root root0Apr808:16f2-data1.txt
Menambahkan teks ke dalam file f1-data1.txt yang berada di dalam folder2.
1
echo"ini teks dari folder2">folder2/f1-data1.txt
Jalankan sinkronisasi.
1
unison folder1 folder2
Tampilkan isi dari file f1-data1.txt yang berada di folder1, untuk memastikan file sudah tersinkronisasi.
1
cat folder1/f1-data1.txt
Menghapus file f1-data3.txt yang berada di dalam folder2.
1
rm folder2/f1-data3.txt
Jalankan sinkronisasi.
1
unison folder1 folder2
Mengecek isi folder1, apakah file f1-data3.txt sudah terhapus.
1
2
3
4
5
ls-lfolder1
-rw-r--r--1root root22Apr808:20f1-data1.txt
-rw-r--r--1root root0Apr808:12f1-data2.txt
-rw-r--r--1root root0Apr808:16f2-data1.txt
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.
server01 = 128.199.153.187
server02 = 128.199.208.184
Install Unison dan Apache
Install unison dan Apache di kedua server.
1
apt install unison apache2-y
Membuat 3 file di server01.
1
2
touch/var/www/html/srv01-file{1..3}.html
chown-Rwww-data.www-data/var/www/html
Login SSH dengan Key
Setting server01 agar bisa login SSH ke server02 dengan menggunakan key.
server01 Membuat key.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ssh-keygen
Generating public/privatersa key pair.
Enter file inwhich tosave the key(/root/.ssh/id_rsa):ENTER
Enter passphrase(empty forno passphrase):ENTER
Enter same passphrase again:ENTER
Your identification has been saved in/root/.ssh/id_rsa
Your publickey has been saved in/root/.ssh/id_rsa.pub
Jalankan kembali unison, lalu cek di server01 apakah file yang dibuat di server02 sudah tersinkronisasi.
Tambahkan teks di dalam file srv02-file1.html di server02.
1
echo"hello world">/var/www/html/srv02-file1.html
Jalankan kembali unison, lalu cek di server01 apakah file yang diubah di server02 sudah tersinkronisasi.
Menghapus file srv02-file3.html di server02.
1
rm/var/www/html/srv02-file3.html
Jalankan kembali unison, lalu cek di server01 apakah file yang dihapus di server02 sudah tersinkronisasi.
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.
1
crontab-e
Jalankan unison setiap 5 menit.
1
*/5****/usr/bin/unison web.prf&>/dev/null
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