Rsync merupakan aplikasi yang berfungsi untuk sinkronisasi file atau folder guna berbagai kebutuhan seperti backup file. Rsync bisa berjalan secara lokal dalam mesin yang sama, ataupun dalam server yang berbeda lokasi. Rsync menggunakan protokol remote-update sehingga proses transfer terasa lebih cepat karena yang ditransfer hanyalah file yang mengalami perubahan saja, artinya tidak semua file dicopy kembali. Disini saya akan mencoba membangun Sistem Backup sederhana dengan rsync.
Gambar : Backup File dengan rsync dari server Lokal ke server Remote
|
Rsync pada single server
Install paket rsync dengan perintah yum untuk memudahkan instalasi.[root@SRIWIJAYA ~]# yum install rsync
Selanjutnya kita buat direktori untuk menyimpan file backup. Misalnya kita akan menyimpan file backup di direktori /home/backup
[root@SRIWIJAYA ~]# mkdir /home/backup
Sebagai contoh, kita asumsikan dalam server kita memiliki folder dilokasi /home/filedata yang berisi berbagai macam konfigurasi, dan akan kita backup ke direktori /home/backup.
Contoh isi Direktori sumber yang akan dibackup :[root@SRIWIJAYA ~]# ls filedata/
configacl.txt configrouter.txt configssh.txt
Perintah untuk melakukan backup dengan rsync, dan menempatkannya di lokasi /home/backup
[root@SRIWIJAYA ~]# rsync -avz /root/filedata/ /home/backup/
sending incremental file list
./
configacl.txt
configrouter.txt
configssh.txt
sent 275 bytes received 72 bytes 694.00 bytes/sec
total size is 63 speedup is 0.18
Sekarang, kita periksa pada direktori /home/backup
[root@SRIWIJAYA ~]# ls /home/backup/
configacl.txt configrouter.txt configssh.txt
Dari output diatas terlihat bahwa file dari direktori /root/filedata berhasil disalin ke /home/backup.
Rsync dari server local ke server remote
Apabila kita ingin menyimpan file backup di server lain (remote server), kita hanya perlu untuk melakukan sedikit perubahan pada perintah sebelumnya, dan pastikan kita mempunyai akses ke remote server tersebut. Dalam hal ini kita akan menggunakan akun user root. Dari gambar diatas, local server (SRIWIJAYA) memiliki IP 192.168.1.101 dan remote server (PAJAJARAN) memiliki IP 192.168.1.100. Kita akan membackup file dari server SRIWIJAYA, yakni semua file yang berada dalam direktori /root/filedata ke server PAJAJARAN yang akan kita tempatkan pada direktori /home/sriwijaya-backup.
Dari server local (SRIWIJAYA), ketikkan perintah:
[root@SRIWIJAYA ~]# rsync -avz /root/filedata/ root@192.168.1.100:/home/sriwijaya-backup
root@192.168.1.100's password:
sending incremental file list
created directory /home/sriwijaya-backup
./
configacl.txt
configrouter.txt
configssh.txt
sent 275 bytes received 72 bytes 40.82 bytes/sec
total size is 63 speedup is 0.18
Perintah diatas akan menyalin file dala direktori /home/filedata ke server PAJAJARAN (IP 192.168.1.100) ke folder /home/sriwijaya-backup. Sebagi catatan, folder “sriwijaya-backup” akan dibuat secara otomatis pada remote server.
Sekarang kita beralih ke server PAJAJARAN untuk melihat hasilnya:
[root@PAJAJARAN ~]# ls /home/sriwijaya-backup/
configacl.txt configrouter.txt configssh.txt
Rsync dari server Remote
Nampaknya proses backup/sinkronisasi file secara remote sudah berhasil. Selain cara diatas, kita bisa mengambil file backup dari Remote server (PAJAJARAN), dengan perintah:
[root@PAJAJARAN ~]# rsync -avz root@192.168.1.101:/root/filedata /home/sriwijaya-backup
root@192.168.1.101's password:
receiving incremental file list
created directory /home/sriwijaya-backup
filedata/
filedata/configacl.txt
filedata/configrouter.txt
filedata/configssh.txt
sent 72 bytes received 297 bytes 82.00 bytes/sec
total size is 63 speedup is 0.17
Rsync dengan SSH
Untuk lebih meningkatkan keamanan dalam sinkronisasi file, kita bisa menggunakan rsync dengan protocol ssh agar file yang kita transfer akan terenkripsi. Berikut contoh penggunaan perintah rsync dengan ssh:
[root@SRIWIJAYA ~]# rsync -avzhe ssh /root/filedata/ root@192.168.1.100:/home/sriwijaya-backup
root@192.168.1.100's password:
sending incremental file list
created directory /home/sriwijaya-backup
./
configacl.txt
configrouter.txt
configssh.txt
sent 275 bytes received 72 bytes 77.11 bytes/sec
total size is 63 speedup is 0.18
Pada perintah diatas, ada penambahan parameter, yakni –h (human readable) dan –e (untuk menentukan protocol). Penggunaan rsync ini cukup luas, dan dalam tutorial ini saya hanya menunjukkan cara penggunaan sederhana. Rsync sangat cocok untuk digunakan dengan crontab, dimana kita bisa membuat jadwal untuk melakukan backup file secara otomatis pada waktu yang kita tentukan. Untuk topik tersebut sudah saya buat di Tutorial lanjutan dari rsync dengan cron.
Mas itu,cara rsync nya apakah secara real time?
BalasHapus