Rabu, 23 November 2016

Membuat Jadwal Backup Database MySQL Otomatis pada Windows

Tidak ada komentar:
Sebagai administrator database, Anda tentu sering menjadwalkan backup database, baik dalam kaitannya dengan rutinitas pekerjaan atau untuk tujuan keamanan dan kenyamanan dalam administrasi database. Dengan tip berikut ini, Anda dapat melakukan penjadwalan backup pada Windows dengan mudah. Misalkan Anda ingin mem-backup sebuah file yang diberi nama menggunakan tanggal. Ada banyak cara untuk melakukan backup tersebut, contohnya menggunakan MySQL Tools yang dapat digunakan secara umum, seperti MySQL Administrator, MySQL Service Center, PHPMyAdmin, dan sebagainya. Akan tetapi, cara yang paling mudah untuk melakukan backup secara otomatis pada Windows adalah menggunakan sebuah file batch. Berikut skrip yang dapat Anda gunakan untuk melakukan backup pada Windows.

Nama File: BACKUP.bat
Skrip ini diketikkan pada NOTEPAD & disave dengan ekstensi .bat

@echo off
title BACKUP DATABASE NOW
color b
echo .
echo +-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+-+
echo *
echo RUNNING SCHEDULED JOB FOR MySQL 5 BACKUP ON
WINDOWS
echo .
echo AUTHOR: Tomy
echo .
echo %DATE:~7,2%-%DATE:~4,2%-%DATE:~10,4%
echo +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-
+-+
echo .
echo .
echo Current Time is:
echo ~
time /t
echo .
echo .
echo [ ]
pause
IF NOT EXIST C:\BACKUP. (
mkdir C:\BACKUP.
echo Directory is OK
echo Continuing process
echo ..
)
IF EXIST C:\BACKUP\*.sql goto tryagain
IF NOT EXIST c:\BACKUP\*.sql. (
cd c:\appserv\mysql\bin\
mysqldump -uroot -p05400679 --databases 555 --resultfile="
c:\BACKUP\backup.%DATE:~0,3%.sql".
) ELSE (
cd c:\appserv\mysql\bin\
mysqldump -uroot -p05400679 --databases 555 --resultfile="
c:\BACKUP\backup.%DATE:~0,3%.sql".
)
echo End of batch program.
Skrip di atas merupakan sebuah file batch yang berisi perintah mysqldump. Perintah mysqldump ini terdapat pada bagian berikut:
mysqldump -uroot -p05400679 --databases db1 --resultfile="
c:\BACKUP\backup.%DATE:~0,3%.sql".
File batch di atas akan dieksekusi secara otomatis menggunakan perintah AT yang terdapat pada Command Prompt. Untuk dapat menjalankan backup secara otomatis pada Windows melalui Command Prompt, ketikkan pada Command Prompt sebagai berikut:
AT 02:00 /every:M,T,W,Th,F,S,Su c:\BACKUP\backup.bat
Misalkan Anda melakukan backup database db1 pada hari Senin pada jam 2 sore dengan menjalankan skrip di atas, maka dengan otomatis Anda telah mem-backup semua data dari dalam [db1] MySQL ke suatu file yang bernama backup.Mon.sql. String yang berupa % DATE:~0,3% artinya menjalankan tanggal DOS dan menguraikan tiga karakter yang pertama. Jika Anda ingin menggunakan format YYYYMMDD, gunakan %DATE:~10,4%%DATE:~7,2%%DATE:~4,2%. Keuntungan penggunaan nama hari pada nama file backup tersebut adalah bahwa Anda nantinya akan mempunyai tujuh file backup. Setelah menjalankan perintah AT melalui Command Prompt, Anda dapat melihat file job yang telah dibuat melalui Control Panel, lalu pilih Scheduled Task dan Anda akan melihat sebuah file yang bernama At1.job yang siap melakukan backup sesuai dengan waktu yang ditetapkan di atas. 
Selanjutnya, Anda dapat merestorasi file backup tersebut sampai dengan hari ke-7. Setiap harinya file backup tersebut akan ditindih. Jadi, dengan format YYYYMMDD akan memungkinkan Anda untuk menciptakan file backup dengan jumlah yang tak terbatas, dan merestorasi file backup ke tanggal manapun yang Anda inginkan. Untuk merestorasi file dump ke dalam tabelspace, caranya sebagai berikut:

c:\mysql -e "source /c:\BACKUP\backup.Mon.sql"

atau

c:\mysql db1 < c:\BACKUP\backup.Mon.sql

Selain menggunakan perintah AT, untuk menjalankan job melalui Command Prompt juga dapat digunakan perintah Schtasks (perintah Schtasks sama artinya dengan perintah AT). Untuk itu, Anda dapat lihat kembali pada dokumentasi Windows.

Selamat mencoba

,

Tidak ada komentar:

Posting Komentar