Backup & Restore

Bab ini sangat penting karena menjaga data tetap aman adalah bagian inti dari manajemen server. Dengan backup yang teratur, kamu bisa memulihkan website atau konfigurasi jika terjadi error, kerusakan, atau serangan.

📑 Bab 7 – SOP Backup & Restore di Ubuntu Server

1. Tujuan

Memberikan panduan standar untuk:

  • Membuat backup data website dan konfigurasi server.
  • Menyimpan backup dengan aman.
  • Melakukan restore jika terjadi kerusakan.

2. Lingkup

  • Sistem operasi: Ubuntu Server.
  • Data yang dibackup: folder web (/var/www/html), konfigurasi (/etc), database (MySQL/MariaDB).

3. Langkah Kerja

3.1 Backup Folder Website

Gunakan tar untuk membuat arsip:

sudo tar -czvf backup-web.tar.gz /var/www/html
  • -c → create (buat arsip).
  • -z → compress (gzip).
  • -v → verbose (tampilkan proses).
  • -f → file (nama file backup).

3.2 Backup Konfigurasi Server

Backup folder konfigurasi:

sudo tar -czvf backup-etc.tar.gz /etc

3.3 Backup Database MySQL

Gunakan mysqldump:

mysqldump -u root -p nama_database > backup-db.sql
  • -u root → user root MySQL.
  • -p → akan diminta password.
  • nama_database → nama database yang dibackup.
  • > → simpan hasil ke file backup-db.sql.

Backup semua database:

mysqldump -u root -p --all-databases > backup-all.sql

3.4 Restore Folder Website

Ekstrak arsip ke folder web:

sudo tar -xzvf backup-web.tar.gz -C /var/www/html
  • -x → extract.
  • -z → gzip.
  • -v → verbose.
  • -f → file.
  • -C → target folder.

3.5 Restore Database MySQL

Gunakan mysql:

mysql -u root -p nama_database < backup-db.sql

Restore semua database:

mysql -u root -p < backup-all.sql

3.6 Automasi Backup (Opsional)

Buat script sederhana:

#!/bin/bash
tanggal=$(date +%F)
sudo tar -czvf /backup/web-$tanggal.tar.gz /var/www/html
mysqldump -u root -pPASSWORD --all-databases > /backup/db-$tanggal.sql

→ Simpan di /usr/local/bin/backup.sh dan jalankan dengan cron untuk otomatis harian/mingguan.

4. Command Ringkas

Fungsi Command
Backup folder web sudo tar -czvf backup-web.tar.gz /var/www/html
Backup konfigurasi sudo tar -czvf backup-etc.tar.gz /etc
Backup database mysqldump -u root -p nama_db > backup-db.sql
Backup semua database mysqldump -u root -p --all-databases > backup-all.sql
Restore folder web sudo tar -xzvf backup-web.tar.gz -C /var/www/html
Restore database mysql -u root -p nama_db < backup-db.sql

5. Catatan Penting

  • Simpan backup di lokasi aman (misalnya external disk atau cloud).
  • Gunakan nama file backup dengan tanggal agar mudah dilacak.
  • Jangan lupa enkripsi backup database jika berisi data sensitif.
  • Lakukan uji restore secara berkala untuk memastikan backup valid.

👉 Dengan bab ini, kamu sudah bisa membuat backup rutin dan melakukan restore jika server bermasalah.

Komentar

Postingan populer dari blog ini

Automation dengan Ansible

Logging & Observability Modern (ELK Stack)

Docker & Container