Sunday, October 21, 2007

Membuat Backup MYSQL Automatic

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



-------------------
Sany Asy’ari, S.Kom

No comments:

Post a Comment