Cara Backup Otomatis Database MYSQL di Linux Server

Cara backup otomatis database mysql di server linux akhirnya saya temukan juga, ini sudah lama dalam pencarian, tetapi kali ini sudah saya coba dan berjalan dengan baik, dengan bantuan AI.

Catatan:

  • cara ini menggunakan file sh
  • anda harus punya akses root di server linux anda, atau user yang setidaknya bisa menjalankan eksesuki file sh.

Langkah:

  1. buat file sh dengan terminal (pakai vim)
  2. test apakah file sudah bekerja
  3. buat cron

Penjelasan Lengkap:

Kode / Script

#!/bin/bash

# Konfigurasi
DB_NAME="nama_dataase"
DB_USER="username_database"
DB_PASSWORD="password_database"
BACKUP_DIR="/backup-asrofi/akuntans_team9/database"
DATE=$(date +%Y-%m-%d-%H%M%S)

# Nama file sementara
TEMP_FILE="$BACKUP_DIR/$DATE.sql"

# Backup database
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $TEMP_FILE

# Kompresi file
zip -j $BACKUP_DIR/$DATE.sql.zip $TEMP_FILE

# Hapus file sementara
rm $TEMP_FILE

# Hapus file yang lebih tua dari 30 hari jika ada
if [ $(find "$BACKUP_DIR" -type f -name "*.sql.zip" -mtime +30 | wc -l) -gt 0 ]; then
    find "$BACKUP_DIR" -type f -name "*.sql.zip" -mtime +30 -exec rm {} \;
fi

Langkah Penulisan Kode

  1. login ke server anda menggunakan terminal, bisa pakai putty misalnya
  2. di terminal ketikkan ini: “vi /folder-x/backup.sh”
    • vi = text editor di linux
    • /folder-x/backup.sh = dolder dan nama skrip yang berfungi sebagai tools backup
  3. setelah anda di mode text editor vi, ketikkan “i” ini akan membuat anda bisa menulis
  4. copy kode yang saya berikan di atas
  5. kembali ke terminal, klik kanan = ini akan menempelkan kode (paste)
  6. edit kode tersebut, disesuaikan kondisi sebenarnya, misalnya password, username, dan path nya.
  7. setelah selesai edit, pencet tombol “Esc” di keyboard, kemduian lanjutkan “:wq” untuk menyimpan file anda
  8. setelah selesai silahkan test kode tersebut
    • dengan mengetikkan “sh /folder-x/backup.sh” di terminal, kemudian tekan “enter”, jika tidak ada error, lanjutkan cek file
    • cek file lokasi backup, apakah sudah ada file backupan, jika ada berarti kode sudah benar.
  9. buat cron job “0 1 * * * /usr/bin/sh /folder-x/backup.sh” – ini akan melakukan backup setiap jam 1 malam.

Kekurangan dari bash script seperti di atas; kita harus menuliskannya di terminal, kalau diedit di file manager seperti di cpanel atau CWP file tidak berfungsi.