Cara backup menggunakan RSYNC pada Server VPS

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/
Pubkeys

sent 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/Conflictname

sent 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. 🙂

Tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *