Script Shell MYSQL Automatic Backup

2009 July 10 at 2:37 pm Leave a comment

Ketika suatu program sudah berjalan, maka Database akan menjadi hal yang harus sangat diperhatikan. Yaitu data harus dibackup sebaiknya setiap hari agar meminimalkan kehilangan data.

Kendalanya kalau backup database dilakukan secara manual akan merepotkan. Oleh karena itu diperlukan script yang dijalanakan secara otomatis untuk membackup database misal setiap hari jam 21.05. Pertimbangkan!!!! pemilihan jam pada waktu tidak terpakai atau tidak sibuk. Kemudian kita akan mengarsipkan file hasil backup tadi berdasarkan bulan ke direktori dengan penamaan (YYYYmm) secara otomatis dibuat  agar memudahkan dalam pengarsipan. Nama File backup akan berformat prefixYYYYmmddHHiiss.sql

Dan sebaiknya dijalankan di server yang bukan server Database MYSQL itu sendiri.  Karena kalau dibackup di server yang sama akan menjadi sia-sia jika harddisknya rusak🙂

Berikut langkah2-nya

1. buat shell script misal dengan nama backup_dbName.sh seperti dibawah:

#!/bin/sh -x

folder=”sql”
prefix=”LIVE”
bulanlalu=$(date -d “-1 month” +%Y%m)
f_bulanlalu=$folder”/”$bulanlalu

host=xxx.xxx.xxx.xxx
usr=”username”
passwd=”password”
dbname=”nama_database”

if [ ! -d $folder ]
then
mkdir $folder
fi

if [ ! -d $f_bulanlalu ]
then
mkdir $f_bulanlalu
fi

mv $folder”/”$prefix$bulanlalu*sql $f_bulanlalu”/”

today=$(date +%Y%m%d%H%M%S)
mysqldump -u $usr -p$passwd –routines –single-transaction $dbname>$folder”/”$prefix$today.sql -h $host
#mysqldump -u $usr -p$passwd canteen>$prefix$today.sql -h $host

2. kemudian rubah hak aksesnya agar bisa diexecute

$chmod 700 backup_dbName.sh

3. Buat Cron Job untuk menjalankan secara schedule, setiap hari jam 21.05 dengan perintah

$crontab -e

5 21 * * * ~/./backup_dbname.sh

4. Pastikan Cron Job Kita sudah sesuai dengan perintah:

$ crontab -l

Entry filed under: MYSQL. Tags: .

JAVA dengan Netbeans?? 600 beasiswa full untuk Siswa Cerdas Miskin di ITB

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Categories


%d bloggers like this: