Bagaimana cara menggunakan command SSH RSYNC untuk keperluan backup data pada Server atau VPS?
rsync singkatan dari Remote sync ( Kendali Sinkronisasi dari Jauh )
rsync ini biasa digunakan untuk melakukan operasi backup di UNIX / Linux.
utilitas rsync digunakan untuk sinkronisasi file dan direktori dari satu lokasi ke lokasi lain dengan cara yang cukup efektif. Lokasi backup bisa di server lokal atau remote server.
Adapun Fitur Penting dari rsync:
- Kecepatan: Pertama kali, rsync mereplikasi seluruh isi antara sumber dan direktori tujuan. Selanjutnya, rsync transfer hanya jika ada yang berubah pada blok atau byte ke lokasi tujuan, yang membuat transfer benar-benar cepat.
- Keamanan: rsync memungkinkan enkripsi data menggunakan protokol ssh selama transfer.
- Hemat Bandwidth: rsync menggunakan kompresi dan dekompresi data blok demi blok di pengirim dan penerima akhir masing-masing. Jadi bandwidth yang digunakan oleh rsync akan selalu kurang dibandingkan dengan protokol transfer file lainnya.
- Wewenang: Tidak ada hak-hak istimewa yang diperlukan untuk menginstal dan menjalankan rsync
Syntax
$ rsync options Sumber Tujuan
Sumber dan tujuan ini dapat berupa lokal atau remote. Dalam kasus Remote, harus ada /ditentukan nama login dan password dari nama remote lokasi server.
Sebelum memulai ke contoh perintah / command ssh rsync ini, hendaknya pastikan dahulu jika server sudah terdapat utilitas rsync ini. Jika belum ada bisa diinstall terlebih dahulu
yum install rsync
Berikut adalah beberapa CONTOH penggunaan rsync pada Server atau VPS.
1. Sinkronisasi Dua Direktori dalam sebuah Lokal Server
Untuk mensinkronisasi dua direktori dalam sebuah lokal komputer, gunakan perintah: rsync -zvr
$ rsync -zvr /var/opt/installation/inventory/ /root/temp
building file list … done
sva.xml
svB.xml
.
sent 26385 bytes received 1098 bytes 54966.00 bytes/sec
total size is 44867 speedup is 1.63
$
Dari contoh rsync di atas:
-z adalah untuk mengaktifkan kompresi
-v adalah verbose
-r adalah untuk recursive ( masuk hingga ke kedalaman folder )
Sekarang mari kita lihat timestamp pada salah satu file yang disalin dari sumber ke tujuan. Seperti yang Anda lihat di bawah, rsync tidak melestarikan cap waktu selama sync.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r–r–r– 1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r–r–r– 1 root bin 949 Sep 2 2009 /root/temp/sva.xml
2. Pertahankan TimeStamp selama Sync menggunakan rsync -a
rsync opsi -a menunjukkan mode arsip. Opsi -a melakukan hal berikut,
- modus rekursif
- Mempertahankan symbolic link
- melindungi hak akses
- mempertahankan timestamp
- Melindungi pemilik kelompok
Sekarang, menjalankan perintah yang sama yang diberikan dalam contoh 1 (Tetapi dengan rsync opsi -a) seperti yang ditunjukkan di bawah ini:
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
building file list … done
./
sva.xml
svB.xml
.
sent 26499 bytes received 1104 bytes 55206.00 bytes/sec
total size is 44867 speedup is 1.63
$
Seperti yang Anda lihat di bawah, rsync mempertahankan cap/timestamp selama sync.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r–r–r– 1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r–r–r– 1 root bin 949 Jun 18 2009 /root/temp/sva.xml
3. Sinkronisasi Hanya Satu Berkas / Satu File
Untuk menyalin hanya satu file, tentukan nama file untuk perintah rsync, seperti yang ditunjukkan di bawah ini.
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/
Pubkeyssent 42 bytes received 12380 bytes 3549.14 bytes/sec
total size is 12288 speedup is 0.99
4. Sinkronisasi File Dari Lokal Komputer ke Remote Server
rsync memungkinkan Anda untuk menyinkronkan file / direktori antara sistem lokal dan remote server.
$ rsync -avz /root/temp/ root@66.85.169.226:/home/user/temp/
Password:
building file list … done
./
rpm/
rpm/Basenames
rpm/Conflictnamesent 15810261 bytes received 412 bytes 2432411.23 bytes/sec
total size is 45305958 speedup is 2.87
Saat melakukan sinkronisasi dengan remote server, Anda perlu menentukan username, ip-address, dan password dari remote server tersebut. Anda juga harus menentukan direktori tujuan pada remote server. Formatnya adalah username@IP-Address:path
Seperti yang Anda lihat di atas, itu meminta password saat melakukan rsync dari lokal ke remote server.
Kadang-kadang untuk SSH port pada remote Server kita menggunakan custome port ( bukan default port 22 ), sehingga untuk command rsync ini perlu command tambahan -e “ssh -p 5757″ , ini bila SSH custom port nya adalah 5757 , jadi contoh di atas akan menjadi
$ rsync -avz -e “ssh -p 5757″ /root/temp/ vps-murah@66.85.169.226:/home/user/temp/
5. Sinkronisasi File Dari Remote Server ke Komputer Lokal
Bila Anda ingin menyinkronkan file dari remote server ke komputer lokal, tentukan path padah remote server sebagai sumbernya dan path pada komputer lokal sebagai target tujuan, seperti yang ditunjukkan di bawah ini.
$ rsync -avz root@66.85.169.226:/var/lib/rpm /root/temp
Password:
receiving file list … done
rpm/
rpm/Basenames
.
sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec
total size is 45305958 speedup is 2.87
6. Sinkronisasi Direktori dan File antar Remote Server
Bila anda ingin menyinkronkan /menyalin file dari remote server (VPS) A ke remote server (VPS) B, lakukan login terlebih dahulu ke root SSH pada server A. Kemudian tentukan path direktori pada server A dan lokasi tujuan pada server B, seperti yang ditunjukkan berikut ini.
$ rsync -avz /home/namauser/public_html/namafolder root@IP-server-B:/home/namauser/public_html/namafolder
Password:
receiving file list … done
rpm/
rpm/Basenames
.
sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec
total size is 45305958 speedup is 2.87
Demikian beberapa contoh penggunaan syntax command SSH untuk rsync yang sangat berguna untuk keperluan backup data pada server anda dan semoga bermanfaat.