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.