Difference between revisions of "Perencanaan dan pengujian backup"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (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...") |
Onnowpurbo (talk | contribs) |
||
| 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 10: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.