Strategi Backup VPS yang Praktis (Aturan 3-2-1)

Ditulis oleh tim ApexVPS • Terakhir diperbarui: Juli 2026 • 7 menit baca

Strategi backup VPS yang andal adalah perbedaan antara pemulihan lima menit dan minggu yang sangat buruk. Server gagal, disk korup, deploy salah, dan satu perintah yang salah ketik dapat menghapus direktori. Cloudflare Learning Center dan sebagian besar tim infrastruktur menunjuk pada disiplin sederhana yang sama: aturan 3-2-1. Panduan ini menunjukkan cara menerapkannya pada server virtual nyata, alat apa yang digunakan, dan cara menjadwalkan serta menguji semuanya sehingga pemulihan benar-benar berfungsi saat Anda membutuhkannya.

Apa Arti Aturan 3-2-1

Aturan 3-2-1 adalah prinsip backup berusia puluhan tahun yang tetap berlaku di mana pun server Anda berada:

Pada VPS, ini biasanya berarti server yang berjalan, repositori cadangan lokal, dan salinan terenkripsi yang dikirim ke penyimpanan jarak jauh di lokasi yang berbeda. Tujuannya adalah redundansi tanpa satu titik kegagalan bersama.

Apa yang Harus Dicadangkan di VPS

Mencadangkan seluruh disk blok demi blok itu boros dan lambat. Rencana cadangan yang baik menargetkan tiga hal yang benar-benar sulit untuk dibuat ulang.

Data aplikasi dan file

File yang diunggah, root situs web, volume kontainer, dan apa pun yang dihasilkan pengguna. Jalur umum termasuk /var/www, /srv, /home, dan direktori volume Docker Anda. Jika Anda meng-host aplikasi sendiri seperti server file atau wiki, di sinilah konten Anda yang tak tergantikan berada — lihat panduan kami tentang menjalankan VPS untuk self-hosting untuk mengetahui bagaimana direktori tersebut biasanya ditata.

Database

Jangan pernah menyalin file database langsung saat layanan berjalan — Anda bisa mendapatkan status setengah tertulis atau korup. Sebaliknya, ekspor dump yang konsisten. Untuk MySQL atau MariaDB:

mysqldump --single-transaction --routines --triggers \
  -u backup -p mydatabase > /srv/backups/mydatabase.sql

Bendera --single-transaction memberikan snapshot konsisten dari tabel InnoDB tanpa menguncinya. Untuk PostgreSQL, gunakan pg_dump sebagai gantinya:

pg_dump -U postgres -Fc mydatabase > /srv/backups/mydatabase.dump

Konfigurasi sistem dan layanan

File yang membuat server Anda menjadi milik Anda: /etc (nginx, unit systemd, cron, konfigurasi SSH), daftar paket, sertifikat TLS, dan aturan firewall. Membangun ulang ini dari ingatan setelah kegagalan adalah pekerjaan membosankan yang seharusnya dihindari oleh cadangan.

Memilih Alat Cadangan Anda

Tiga alat mencakup hampir semua kasus VPS. Pilih berdasarkan seberapa besar Anda menghargai deduplikasi dan enkripsi.

restic — snapshot terenkripsi dan terdeduplikasi

restic adalah alat cadangan modern biner tunggal yang mengenkripsi dan mendeduplikasi secara default. Inisialisasi repositori sekali, lalu jalankan cadangan terhadapnya:

# One-time: create an encrypted repository
restic init --repo /srv/backups/restic

# Back up files and your database dump
restic -r /srv/backups/restic backup /etc /var/www /srv/backups/mydatabase.sql

# List what you have
restic -r /srv/backups/restic snapshots

BorgBackup — arsip deduplikasi

BorgBackup menawarkan deduplikasi dan kompresi serupa dengan alur kerja yang sedikit berbeda:

borg init --encryption=repokey /srv/backups/borg
borg create --stats /srv/backups/borg::'{hostname}-{now}' /etc /var/www

rsync — pencerminan file sederhana

Ketika Anda hanya perlu cermin cepat file ke host lain, rsync melalui SSH sulit dikalahkan:

rsync -aAX --delete /var/www/ [email protected]:/backups/www/

Bendera -aAX mempertahankan izin, ACL, dan atribut yang diperluas; --delete menjaga cermin tetap sinkron dengan sumber. rsync saja tidak membuat riwayat versi, itulah sebabnya banyak tim menggabungkannya dengan restic atau borg.

Otomatiskan Jadwal dengan cron

Cadangan yang harus Anda ingat untuk dijalankan adalah cadangan yang tidak akan terjadi. Masukkan langkah-langkah Anda ke dalam skrip, buat dapat dieksekusi, dan jadwalkan dengan cron. Edit crontab Anda dengan:

crontab -e

Kemudian tambahkan baris seperti ini:

# Full file + config backup every night at 02:15
15 2 * * * /usr/local/bin/vps-backup.sh

# Database dump every hour on the hour
0 * * * * /usr/local/bin/db-dump.sh

Catat outputnya, dan buat skrip keluar dengan kode non-nol saat gagal sehingga Anda dapat menghubungkannya ke fitur pemantauan dan peringatan yang disertakan dengan paket Anda. Kegagalan cadangan yang senyap lebih buruk daripada tidak ada cadangan, karena terasa aman.

Simpan Salinan Offsite yang Nyata

"1" dalam 3-2-1 adalah bagian yang paling sering dilewati orang. Cadangan yang berada di server yang sama dengan yang dilindunginya akan hilang bersama server itu. Dorong salinan terenkripsi ke tempat yang independen — penyimpanan objek, kotak SFTP jarak jauh, atau penyedia lain. restic dan borg keduanya menulis langsung ke repositori jarak jauh, misalnya melalui SFTP:

restic -r sftp:[email protected]:/backups/restic backup /var/www

Karena restic dan borg mengenkripsi sebelum data meninggalkan VPS Anda, host jarak jauh tidak akan pernah melihat teks biasa Anda. Pangkas snapshot lama dengan kebijakan agar penyimpanan tidak tumbuh selamanya:

restic -r /srv/backups/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Uji Pemulihan Anda — Setiap Waktu

Cadangan yang tidak diuji adalah desas-desus. Jadwalkan pemulihan berkala ke lokasi sementara dan konfirmasikan bahwa file dan database kembali utuh:

# Restore the latest snapshot into a scratch directory
restic -r /srv/backups/restic restore latest --target /tmp/restore-test

# Verify repository integrity
restic -r /srv/backups/restic check

# Re-import a database dump into a scratch database
mysql -u root -p restore_test < /srv/backups/mydatabase.sql

Jika pemulihan berhasil dan data cocok, Anda memiliki strategi. Jika tidak, Anda baru saja belajar pada Selasa sore, bukan saat terjadi gangguan nyata.

Snapshot Hanyalah Satu Lapisan, Bukan Seluruh Strategi

Setiap paket ApexVPS mencakup pencadangan otomatis — snapshot harian pada Starter Pro dan snapshot per jam pada Business — dan itu sangat berguna untuk pengembalian cepat setelah penerapan yang buruk atau penghapusan yang tidak disengaja. Tetapi jujurlah tentang apa itu: lapisan pertama yang nyaman yang hidup di platform kami. Itu bukan pengganti salinan offsite yang diverifikasi secara independen yang disyaratkan oleh aturan 3-2-1. Perlakukan snapshot platform sebagai titik pemulihan lokal yang cepat, dan jalankan pekerjaan restic atau borg Anda sendiri untuk memenuhi bagian offsite dan pemulihan teruji dari aturan tersebut. Pendekatan berlapis itulah yang membedakan pengaturan yang penuh harapan dari yang tangguh, baik Anda meng-host aplikasi seperti Nextcloud atau menjalankan database produksi.

Daftar Periksa Strategi Cadangan VPS Anda

Menggabungkan semuanya, strategi cadangan lengkap untuk server virtual terlihat seperti ini. Kerjakan sekali, buat skrip, dan biarkan cron melanjutkannya:

Lakukan enam hal ini dan aturan 3-2-1 berhenti menjadi teori dan menjadi kebiasaan yang dapat diandalkan infrastruktur Anda. Satu jam pengaturan di awal sangat sepele dibandingkan biaya menemukan, di tengah insiden, bahwa satu-satunya salinan Anda ada di disk yang baru saja mati.

Perlu server yang sepenuhnya Anda kendalikan untuk menjalankan ini? ApexVPS memberi Anda akses root penuh, penyimpanan NVMe, dan sumber daya khusus di 39 pusat data — dengan checkout khusus kripto, tanpa kartu dan tanpa KYC. Bandingkan paket VPS khusus →

Pertanyaan yang Sering Diajukan

Apakah snapshot penyedia dihitung sebagai strategi cadangan?

Snapshot adalah satu lapisan yang berguna, tetapi bukan strategi lengkap. Snapshot harian dan per jam kami melindungi dari sebagian besar kesalahan jangka pendek, namun mereka hidup di platform yang sama dengan server Anda. Strategi cadangan 3-2-1 yang lengkap masih membutuhkan salinan offsite independen yang Anda kendalikan dan pemulihan yang benar-benar Anda uji.

Seberapa sering saya harus mencadangkan VPS?

Sesuaikan frekuensi dengan seberapa banyak data yang mampu Anda hilangkan. File statis dan konfigurasi dapat dicadangkan setiap hari, sementara database aktif sering kali memerlukan dump per jam. Gunakan cron untuk mengotomatiskan jadwal sehingga cadangan tidak pernah bergantung pada ingatan untuk menjalankannya.

Apa alat terbaik untuk cadangan VPS?

restic dan BorgBackup sama-sama sangat baik: mereka melakukan deduplikasi, kompresi, dan enkripsi cadangan, serta mendukung repositori offsite. rsync bagus untuk mirror file sederhana, dan mysqldump atau pg_dump menangani ekspor database. Banyak pengaturan menggabungkan dump database dengan menjalankan restic atau borg.

Bagaimana saya tahu cadangan saya benar-benar berfungsi?

Uji pemulihan secara terjadwal. Pulihkan ke direktori sementara, verifikasi isi file dan checksum, dan impor dump database ke database percobaan. Cadangan yang belum pernah Anda pulihkan hanyalah tebakan penuh harapan, bukan rencana pemulihan.