Perencanaan dan pengujian backup: Difference between revisions
From OnnoCenterWiki
Jump to navigationJump to search
Created page with "Berikut adalah **Modul 10 (Lanjutan): Strategi Backup dan Recovery**, dengan fokus pada **Perencanaan dan Pengujian Backup**, serta **contoh implementasi di MySQL Ubuntu 24.04..." |
No edit summary |
||
| Line 1: | Line 1: | ||
Berikut adalah | Berikut adalah '''Modul 10 (Lanjutan): 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: | 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?== | |||
--- | {| class="wikitable" | ||
! 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 | |||
#!/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;" | |||
mysql -u root -p -e "SHOW TABLES IN test_restore;" | |||
==Checklist Keberhasilan Backup== | |||
| Item | {| class="wikitable" | ||
|- | ! Item !! Status | ||
| File backup tersimpan dengan benar | ✅ | |- | ||
| Ukuran file wajar (>0 KB) | ✅ | | File backup tersimpan dengan benar || ✅ | ||
| Bisa di-*restore* ke database uji | ✅ | |- | ||
| Struktur dan isi data sesuai | ✅ | | Ukuran file wajar (>0 KB) || ✅ | ||
| File backup dienkripsi (opsional) | ⚠️ | |- | ||
| Backup rutin terjadwal | ✅ | | Bisa di-*restore* ke database uji || ✅ | ||
| Retention policy berjalan | ✅ | |- | ||
| 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== | |||
* [[Database: Kuliah]] | |||
Revision as of 03:05, 6 May 2025
Berikut adalah Modul 10 (Lanjutan): 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.