Perencanaan dan pengujian backup
Revision as of 10:14, 6 May 2025 by Onnowpurbo (talk | contribs)
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.