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) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Berikut adalah | + | 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: | 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]] |
Latest revision as of 10:14, 6 May 2025
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.