Perencanaan dan pengujian backup
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.