Skip to content
Om Puter

Om Puter

Berbagi Tutorial Coding dan Pemrograman Komputer

Menu
  • Channel YouTube ThirteeNov
  • Channel YouTube Om Puter
Menu

Cara Migrasi Semua Data dari VPS A ke VPS B Menggunakan Rsync dan SSH Key

Posted on 10 Juli 202510 Juli 2025 by OmPuter

Jika kamu memiliki dua VPS Linux (misalnya VPS A dan VPS B), dan ingin memindahkan seluruh isi VPS A ke VPS B — seolah-olah kamu meng-clone seluruh sistem — maka salah satu metode terbaik adalah menggunakan rsync dengan bantuan SSH key.

Dengan metode ini, semua file, konfigurasi server, direktori website, dan setting penting lainnya akan dipindahkan dengan aman dan efisien ke VPS baru.

Kenapa Pakai Rsync?

rsync adalah alat powerful untuk menyalin file antar server:

  • Hemat bandwidth (hanya file yang berubah yang disalin)
  • Bisa mempertahankan izin file, symlink, struktur folder, dan lainnya
  • Bisa dijalankan sekali atau secara otomatis via skrip

Langkah 1: Pastikan Kedua VPS Siap

  • VPS A: berisi semua data dan konfigurasi yang ingin kamu pindahkan.
  • VPS B: masih kosong, siap menerima semua file dari VPS A.
  • Pastikan sistem operasi antara keduanya sama atau mirip (contoh: Ubuntu 20.04 ke 20.04).

Langkah 2: Install Rsync di Kedua VPS

Login ke kedua VPS dan jalankan:

sudo apt update && sudo apt install rsync -y

Langkah 3: Membuat SSH Key di VPS A

SSH key akan memungkinkan kita untuk login ke VPS B tanpa memasukkan password berkali-kali.

Di VPS A, jalankan:

ssh-keygen -t ed25519 -C "rsync-to-vps-b"

Jika muncul pertanyaan seperti ini:

Enter file in which to save the key (/root/.ssh/id_ed25519): 

Tekan ENTER saja untuk pakai default.

Jika ditanya passphrase, bisa dikosongkan (tekan ENTER) agar bisa login otomatis.


Langkah 4: Menyalin SSH Key ke VPS B

Setelah SSH key dibuat, salin ke VPS B:

ssh-copy-id root@IP_VPS_B

Ganti IP_VPS_B dengan IP asli dari VPS B kamu. Contoh:

ssh-copy-id root@192.168.1.23

Jika diminta konfirmasi dan password root VPS B, ikuti saja prosesnya.


Langkah 5: Uji Koneksi SSH

Sekarang coba SSH dari VPS A ke VPS B tanpa password:

ssh root@IP_VPS_B

Kalau langsung masuk tanpa diminta password, maka kamu sudah siap lanjut ke proses rsync.


Langkah 6: Jalankan Rsync dari VPS A ke VPS B

Gunakan perintah berikut di VPS A untuk menyalin semua isi root (/) ke VPS B, dengan pengecualian direktori sistem runtime:

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / root@IP_VPS_B:/

Keterangan:

  • -aAXv: mempertahankan hak akses file, ACL, dan extended attributes.
  • --exclude: mencegah file sistem sensitif ikut disalin.
  • root@IP_VPS_B:/: target penyalinan di VPS B.

⚠️ Penting: Pastikan koneksi stabil, karena proses ini bisa lama jika isi VPS A cukup besar.


Langkah 7: Periksa dan Reboot VPS B

Setelah proses selesai:

  1. Login ke VPS B
  2. Cek apakah konfigurasi sudah tersalin dengan benar
  3. Pastikan network setting tidak mengacaukan koneksi VPS (hostname, IP statik, dsb.)
  4. Jalankan:
sudo reboot

Langkah 8: Arahkan Domain ke VPS B

Setelah VPS B berjalan dengan baik, cukup ubah A record DNS domain kamu agar mengarah ke IP VPS B.


Bonus: Backup Harian Otomatis via Rsync

Kalau kamu ingin rsync dijalankan otomatis setiap hari (misalnya backup dari VPS A ke VPS B), kamu bisa tambahkan ke crontab:

crontab -e

Lalu tambahkan:

0 2 * * * rsync -aAX --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / root@IP_VPS_B:/ > /var/log/rsync-backup.log 2>&1

Artinya: backup tiap jam 2 pagi, log hasilnya disimpan di /var/log/rsync-backup.log.

Post Views: 146

Kategori

  • 3D Max
  • Adobe Animate
  • Android
  • c#
  • Cordova
  • HTML5, CSS & JavaScript
  • iOS
  • Lain-lain
  • Photoshop
  • PHP
  • Python
  • Roblox
  • Tak Berkategori
  • Unity
  • WordPress
ciihuy2020
© 2026 Om Puter | Powered by Superbs Personal Blog theme