Melihat fitur auto sinkronisasi milik aplikasi semacam dropbox, google drive dan lain-lain membuat saya bertanya-tanya apakah ada di linux, khususnya Ubuntu Server memiliki aplikasi yang fungsinya sama seperti di atas?
Selama ini, saya menggunakan aplikasi rsync untuk melakukan sinkronisasi file baik di dalam lokal system atau antar komputer via jaringan. Akan tetapi, fitur ini belum bisa melakukan (sinkronisasi) secara real time.
Aplikasi rsync tidak memiliki fitur auto trigger ketika setiap kali file/folder sumber terjadi perubahan, sehingga saya harus memanfaatkan aplikasi cron untuk mentrigger sinkronisasi sesuai jadwal kapan sinkronisasi di lakukan.
Setelah mencari-cari dan melakukan browsing, ternyata di Ubuntu Server memiliki aplikasi yang mendukung fitur yang saya maksud (auto sinkronisasi) tersebut, aplikasi tersebut bernama lsyncd. Sebelum menggunakan aplikasi tersebut, kita harus melakukan instalasi ke dalam system menggunakan perintah:
sudo apt-get install lsyncd
apabila proses instalasi telah selesai, kita bisa menggunakan aplikasi tersebut untuk melakukan auto sinkronisasi file dan data antar folder di dalam system atau antar komputer.
Untuk melakukan sinkronisasi antar komputer saya memanfaatkan layanan SSH yang di tutorial berikutnya akan coba saya tuliskan.
Kali ini saya hanya akan memberi tutorial cara melakukan auto sinkronisasi di dalam local system saja.
Berikut contoh perintah untuk melakukan sinkronisasi antar folder di dalam satu system:
lsyncd -rsync /home/himawan/belajar-python/ /home/himawan/belajar-juga/
dari perintah di atas maka lsyncd akan melakukan auto sinkronisasi folder yang berlokasi di /home/himawan/belajar-python/ ke folder destinasinya yaitu folder /home/himawan/belajar-juga/ memanfaatkan fitur rsync
apabila berhasil dijalankan, maka akan muncul daemon lsyncd yang menunjukkan proses ID dari lsyncd tersebut, untuk melihat PID nya itu, saya menjalankan perintah:
ps aux |grep lsyncd
dari sini PID nya bisa dilihat:
berdasarkan hasil diatas terlihat bahwa aplikasi lsyncd berjalan secara background pada PID 25587.
Dengan begitu, apabila saya melakukan perubahan file ataupun melakukan penambahan file/folder di folder asal (belajar-python/), maka perubahan secara otomatis juga terjadi di folder tujuan (belajar-juga/).
Untuk menghentikan proses sinkronisasi tersebut, saya tinggal menjalankan perintah kill dengan PID yang sudah saya ketahui tersebut, dengan format perintah seperti di bawah ini:
sudo kill -9 25587
maka proses auto sinkronisasi tersebut akan berhenti. Pada tutorial berikutnya saya menulis bagaimana auto sinkronisasi tersebut dijalankan lintas komputer. Selamat mencoba dan semoga membantu.
Comments