Sinkronisasi di dalam sistem operasi Linux sudah merupakan hal yang biasa, sinkronisasi dilakukan untuk mempermudah pekerjaan Anda sebagai administrator sistem atau pun jaringan. Anggap saja Anda memiliki sebuah folder yang harus setiap hari di salin ke server lainnya apabila terjadi perubahan dan masih Anda lakukan dengan cara manual, yaitu copy paste.
Hal diatas dapat diakali dengan menggunakan sinkronisasi memanfaatkan aplikasi bernama rysnc. Rsync sendiri merupakan aplikasi default yang sudah ada di dalam sistem Linux tanpa harus Anda instalasi terlebih dahulu. Kasus diatas dapat diatasi dengan menggunakan rsync dimana apabila pada folder sumber terjadi perubahan akan secara otomatis melakukan penyalinan ke folder target. Penyalinan dilakukan tentu saja dengan pengecekan apabila di folder sumber ada yang terhapus maka di folder tujuan pun akan disamakan.
Skrip yang akan dibuat dengan menggunakan bash, jika Anda bertanya mengapa bash? maka jawaban saya bash merupakan bahasa pemrograman sistem yang simple dan efektif. Skrip ini saya ambil dari sebuah situs di Internet ( URL lupa ) yang sedikit saya modifikasi, namun saya berterima kasih skrip ini sudah sangat membantu saya dalam mengotomatisasi pekerjaan di sistem.
Berikut di bawah ini skrip rsync yang akan mengecek setiap detiknya :
1 2 3 4 5 6 |
#!/bin/bash while true do sleep 1 rsync -avz --delete -e ssh root@192.168.137.18:/root/memo/ memo/ done |
1. -A = rekursif (recurse ke direktori), Link (copy symlink sebagai symlink), perms (melestarikan izin), kali (melestarikan waktu modifikasi), kelompok (group melestarikan), pemilik (owner melestarikan), melindungi file perangkat, dan melestarikan khusus file.
2. -V = verbose. Alasan saya pikir verbose penting adalah sehingga Anda dapat melihat apa rsync back up. Pikirkan tentang hal ini: Bagaimana jika hard drive Anda akan buruk, dan mulai menghapus file tanpa sepengetahuan Anda, maka Anda menjalankan script rsync Anda dan mendorong perubahan-perubahan ke backup Anda, sehingga menghapus semua contoh file yang Anda tidak ingin mendapatkan Singkirkan?
3. –delete = Ini memberitahu rsync untuk menghapus file yang ada di Directory2 yang tidak directory1. Jika Anda memilih untuk menggunakan pilihan ini, saya sarankan juga menggunakan opsi verbose, untuk alasan yang disebutkan di atas.
Perintah diatas secara garis besar akan melakukan sinkronisasi folder /root/memo/ yang ada di komputer remote dengan alamat IP 192.168.137.18 dengan username root kedalam folder /memo yang ada di komputer lokal. Opsi -e menunjukan protokol yang digunakan untuk berkomunikasi yaitu dengan menggunakan SSH.
Sebenarnya sebelum melakukan hal diatas, Anda harus melakukan konfigurasi pada SSH dari masing-masing komputer remote dan lokal. Konfigurasi ini dinamakan login SSH tanpa password dimana dari komputer lokal harus bisa masuk dan mengambil data dengan menggunakan SSH tanpa harus memasukkan password komputer remote. Jika belum dilakukan maka SSH akan terus meminta password.
Jalankan file bash yang berisi skrip rsync diatas :
1 2 3 |
# chmod +x nama_file.sh # ./nama_file.sh |