Perencanaan dan pengujian backup

From OnnoWiki
Jump to navigation Jump to search

Berikut adalah Modul: Strategi Backup dan Recovery, dengan fokus pada Perencanaan dan Pengujian Backup, serta contoh implementasi di MySQL Ubuntu 24.04.

Strategi Backup dan Recovery

Topik: Perencanaan dan Pengujian Backup


Tujuan Pembelajaran

Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:

  • Merancang strategi backup yang sesuai kebutuhan sistem.
  • Menyusun jadwal backup berkala (harian, mingguan).
  • Menguji keberhasilan backup dan memastikan file dapat di-*restore*.
  • Menerapkan praktik perencanaan backup di MySQL Ubuntu 24.04.


Perencanaan Backup: Apa Saja yang Harus Dirancang?

Komponen Penjelasan
Jadwal Backup Kapan backup dilakukan (harian, mingguan, bulanan)
Jenis Backup Full, Incremental, Differential
Metode Penyimpanan Lokal, cloud, offsite, hybrid
Retention Policy Lama penyimpanan file backup (misal: 7 hari harian, 4 minggu mingguan)
Enkripsi Apakah file backup dienkripsi?
Pengujian Berkala Seberapa sering restore diuji? (misalnya setiap 1 minggu)

Contoh Strategi Backup MySQL Ubuntu 24.04

Skema:

  • Backup harian (full) disimpan selama 7 hari.
  • Disimpan di folder `/var/backups/mysql/`.
  • Backup dilakukan setiap pukul 02.00 WIB.

Script Backup Harian (`/usr/local/bin/mysql_backup.sh`):

#!/bin/bash

# Konfigurasi
DB_USER="root"
DB_PASS="password_mysql"
BACKUP_DIR="/var/backups/mysql"
DATE=$(date +%F)

# Buat folder jika belum ada
mkdir -p $BACKUP_DIR

# Backup semua database
mysqldump -u $DB_USER -p$DB_PASS --all-databases > $BACKUP_DIR/backup_$DATE.sql

# Hapus backup lebih dari 7 hari
find $BACKUP_DIR -type f -name "*.sql" -mtime +7 -delete

Simpan dan beri izin eksekusi:

chmod +x /usr/local/bin/mysql_backup.sh

Tambahkan Cron Job:

sudo crontab -e

Tambahkan baris:

0 2 * * * /usr/local/bin/mysql_backup.sh

Pengujian Backup (Restore Test)

Pilih file backup:

cd /var/backups/mysql/
ls -lh

Restore ke database uji:

mysql -u root -p -e "CREATE DATABASE test_restore;"
mysql -u root -p test_restore < backup_2025-04-13.sql

Verifikasi isi database uji:

mysql -u root -p -e "SHOW TABLES IN test_restore;"


Checklist Keberhasilan Backup

Item Status
File backup tersimpan dengan benar
Ukuran file wajar (>0 KB)
Bisa di-*restore* ke database uji
Struktur dan isi data sesuai
File backup dienkripsi (opsional) ⚠️
Backup rutin terjadwal
Retention policy berjalan


Tips Best Practice

  • Simpan backup di lokasi berbeda dari server produksi (offsite atau cloud).
  • Simpan backup minimal 3 versi terakhir.
  • Lakukan pengujian restore mingguan.
  • Gunakan logging untuk mencatat keberhasilan/kelalaian backup.

Kesimpulan

  • Perencanaan backup harus memperhatikan jadwal, retensi, dan lokasi penyimpanan.
  • Backup tidak cukup hanya dibuat — harus diuji secara rutin.
  • MySQL di Ubuntu 24.04 dapat di-backup otomatis menggunakan `cron + mysqldump`.
  • Restore test penting untuk memastikan backup benar-benar dapat digunakan saat dibutuhkan.


Pranala Menarik