Skip to main content
  1. Posts/

Script Bash untuk Backup MySQL

·2 mins·
bash linux mysql bash

Sebagai Administrator, Anda diminta membuat skrip bash untuk backup harian MySQL.

Berikut ini adalah contoh skrip bash untuk melakukan backup database harian dengan retensi 3 hari.

#!/bin/bash

# Konfigurasi
DB_HOST="localhost"  # Ganti dengan alamat host database
DB_USER="username"  # Ganti dengan username database
DB_PASS="password"  # Ganti dengan password database
DB_NAME="nama_database"  # Ganti dengan nama database yang ingin di-backup
BACKUP_DIR="/path/ke/direktori/backup"  # Ganti dengan direktori tujuan backup

# Membuat nama file backup dengan format tanggal
BACKUP_FILE="${BACKUP_DIR}/backup_$(date +%Y%m%d).sql"

# Menghapus backup yang lebih lama dari 3 hari
find ${BACKUP_DIR} -name "backup_*" -type f -mtime +3 -exec rm {} \;

# Membuat backup database
mysqldump -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BACKUP_FILE}

# Menampilkan pesan sukses atau gagal
if [ $? -eq 0 ]; then
  echo "Backup database berhasil: ${BACKUP_FILE}"
else
  echo "Backup database gagal"
fi

Anda perlu mengganti beberapa nilai konfigurasi sesuai dengan kebutuhan Anda, seperti DB_HOST, DB_USER, DB_PASS, DB_NAME, dan BACKUP_DIR. Pastikan Anda memberikan izin yang tepat pada direktori backup agar skrip dapat menulis file backup.

Skrip ini akan membuat file backup dengan format “backup_tanggal.sql” di direktori yang ditentukan. Selanjutnya, skrip akan menghapus backup yang lebih lama dari 3 hari menggunakan perintah find dengan opsi -mtime +3.

Untuk menjalankan skrip ini secara otomatis setiap hari, Anda dapat menambahkan entri cron job dengan perintah crontab -e dan menambahkan baris berikut.

0 0 * * * /path/ke/skrip.sh

Baris ini akan menjalankan skrip setiap hari pada pukul 00:00. Pastikan untuk mengganti /path/ke/skrip.sh dengan jalur sesuai dengan lokasi skrip Anda.

Related

Bash Script Handbook
·11 mins
bash bash linux
Cara Menghentikan Proses Malicious kcached
·1 min
linux linux
Migrasi OS Ubuntu ke LVM
·3 mins
ubuntu linux ubuntu lvm
Meningkatkan Performa pada PHP-FPM
·2 mins
linux linux
Mengamankan Server dari Eksploitasi PHP Shell
·1 min
php linux php
Cara Mengubah Date Modified File di Linux
·1 min
linux linux