Google
Sany Asyari Blog - Indonesia

Membuat Backup MYSQL Automatic

Sany Asyari| October 3, 2006 11:16 am

Sebagai admin sebuah server sudah sewajarnya jika kita membuat backup data yang ada dikomputer kita. Untuk ini berikut adalah cara untuk membuat backup mySQL secara otomatis.

permata kita buat dulu aplikasi setting yang bisa kita panggil :

# vi /root/mysqlbackup.sh

#!/bin/sh -x
# MySQL db backup script by rab
# Nama file : mysql_backup.sh

# user,pass dan host mysql

user=”root” -> isi dengan user root mysql anda
passwd=”sanyasyari” -> isi dengan password root mysql anda
host=”localhost”

# Menentukan direktori binary mysql,mysqldump,chown,chmod dan gzip

binmysql=”$(which mysql)”
binmysqldump=”$(which mysqldump)”
chown=”$(which chown)”
chmod=”$(which chmod)”
gzip=”$(which gzip)”

# Menentukan direktori parent backup

i=”/usr/backup”

# Menentukan direktori backup mysql (main directory)

j=”$i/mysql”

# Mendapatkan waktu berupa tanggal, bulan dan tahun dengan format d-m-Y

waktu=”$(date +”%d-%m-%Y”)”

# Hilangkan dulu direktori backup jika ada
if [ -d $j ];
then
rm -rf $j
echo “Direktori sudah ada, proses akan dilanjutkan”
else
echo “Direktori backup belum dibuat, proses akan dilanjutkan”
fi

# Membuat Direktori backup

mkdir -p $j

# Mendapatkan list database

cli=”$($binmysql -u $user -p$passwd -Bse ’show databases’)”

# Main loop

for db in $cli
do
FILE=”$j/$db.$host.$waktu.gz”
$binmysqldump -u $user -h $host -p$passwd $db | $gzip -9 > $FILE
done

# Mengganti permission root direktori backup, agar hanya user dan group root saja yang boleh mengaksesnya

$chown -R root:root $i
$chmod -R 0600 $i

 

#Selesai

Setelah kita membuat diatas maka tekan Esc + :wq

lalu jangan lupa set chmod 700 di file mysqlbackup.sh

#chmod 700 mysqlbackup.sh

Kemudian kita setting di crontab anda :

#> crontab -e

Tambahkan :

59 3 * * *  root /root/mysql_backup.sh 2>&1

59 -> menit 59

3 -> jam tiga

maka backup akan terjadi setiap hari pada pukul 3:59 pagi

oh iya hasil dari sistem ini adalah :

1. File akan terbackup di folder /user/backup/mysql dan file hanya 1 per nama

2. File sudah di comprese dengan .gz

Simple yach..
Mudah-mudahan berguna ya..

Regards,

Sany Asy’ari, S.Kom

1 Comment

  • At 2008.05.25 23:00, edy zhou said:

    selamat pagi, Pak iskandar . bagaimana caranya apakah perlu register atau perlu beli softnya? kalau caranya gmn ? terima kasih

    (Required)
    (Required, will not be published)