docs: add backup verification guidance
This commit is contained in:
+36
-5
@@ -5,6 +5,8 @@ Panduan backup dan pemulihan data untuk project `database-kesiswaan`.
|
|||||||
Dokumen ini dibuat supaya admin atau operator server bisa menjalankan backup rutin **tanpa perlu masuk ke UI aplikasi**.
|
Dokumen ini dibuat supaya admin atau operator server bisa menjalankan backup rutin **tanpa perlu masuk ke UI aplikasi**.
|
||||||
Fokusnya sederhana: **mudah dijalankan, mudah dicek hasilnya, dan mudah dipulihkan saat terjadi masalah**.
|
Fokusnya sederhana: **mudah dijalankan, mudah dicek hasilnya, dan mudah dipulihkan saat terjadi masalah**.
|
||||||
|
|
||||||
|
> **Catatan penting:** backup yang berhasil dibuat **belum otomatis berarti aman**. Backup baru benar-benar dipercaya kalau **pernah diuji restore** atau minimal diverifikasi integritas filenya. Prinsip sederhananya: **backup yang belum pernah dites restore = belum terbukti aman**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 1. Yang Diamankan
|
# 1. Yang Diamankan
|
||||||
@@ -326,7 +328,36 @@ chmod 600 /var/www/database-kesiswaan/.env
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 15. Checklist Setelah Restore
|
# 15. Verifikasi Backup Setelah Dibuat
|
||||||
|
|
||||||
|
Setelah backup selesai dibuat, sangat disarankan melakukan verifikasi ringan:
|
||||||
|
|
||||||
|
## A. Cek integritas file backup database
|
||||||
|
```bash
|
||||||
|
gzip -t /var/backups/database-kesiswaan/database/nama-file.sql.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
## B. Cek isi awal dump database
|
||||||
|
```bash
|
||||||
|
gunzip -c /var/backups/database-kesiswaan/database/nama-file.sql.gz | head
|
||||||
|
```
|
||||||
|
|
||||||
|
## C. Cek isi arsip dokumen
|
||||||
|
```bash
|
||||||
|
tar -tzf /var/backups/database-kesiswaan/files/nama-file.tar.gz | head
|
||||||
|
```
|
||||||
|
|
||||||
|
## D. Cek file `.env` backup
|
||||||
|
```bash
|
||||||
|
ls -lah /var/backups/database-kesiswaan/env
|
||||||
|
```
|
||||||
|
|
||||||
|
Verifikasi ringan ini membantu memastikan file backup tidak rusak secara kasat mata.
|
||||||
|
Namun, verifikasi terbaik tetap **uji restore** ke lokasi atau database test.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 16. Checklist Setelah Restore
|
||||||
|
|
||||||
Setelah pemulihan selesai, cek hal berikut:
|
Setelah pemulihan selesai, cek hal berikut:
|
||||||
|
|
||||||
@@ -343,7 +374,7 @@ Setelah pemulihan selesai, cek hal berikut:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 16. Troubleshooting Ringan
|
# 17. Troubleshooting Ringan
|
||||||
|
|
||||||
## A. Error `mysqldump: command not found`
|
## A. Error `mysqldump: command not found`
|
||||||
Pastikan `mysqldump` tersedia di server.
|
Pastikan `mysqldump` tersedia di server.
|
||||||
@@ -383,7 +414,7 @@ RETENTION_DAYS=30 ./scripts/backup-full-kesiswaan.sh
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 17. Rekomendasi Operasional
|
# 18. Rekomendasi Operasional
|
||||||
|
|
||||||
1. Gunakan **backup penuh harian**.
|
1. Gunakan **backup penuh harian**.
|
||||||
2. Kalau data aktif sering berubah, tambahkan **backup database tiap 6 jam**.
|
2. Kalau data aktif sering berubah, tambahkan **backup database tiap 6 jam**.
|
||||||
@@ -394,7 +425,7 @@ RETENTION_DAYS=30 ./scripts/backup-full-kesiswaan.sh
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 18. Catatan Keamanan
|
# 19. Catatan Keamanan
|
||||||
|
|
||||||
- Jangan expose `/var/backups/database-kesiswaan` ke publik.
|
- Jangan expose `/var/backups/database-kesiswaan` ke publik.
|
||||||
- Jangan commit file backup ke GitHub.
|
- Jangan commit file backup ke GitHub.
|
||||||
@@ -403,7 +434,7 @@ RETENTION_DAYS=30 ./scripts/backup-full-kesiswaan.sh
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 19. Rekomendasi Paling Praktis
|
# 20. Rekomendasi Paling Praktis
|
||||||
|
|
||||||
Kalau ingin paling sederhana dan aman, cukup lakukan dua hal ini:
|
Kalau ingin paling sederhana dan aman, cukup lakukan dua hal ini:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user