Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Membuat Jadwal Backup Database Otomatis

| Comments

Backup database merupakan salah satu hal penting, apalagi jika kita bekerja sebagai database administrator.

Semakin banyaknya data-data yang tersimpan seperti data keuangan, akademik dan data penting lainnya mengharuskan kita untuk meluangkan waktu khusus untuk melakukan backup database.

Backup secara manual tentu saja tidak disarankan, apalagi jika datanya sudah banyak, tentu saja sedikit banyaknya akan menyita waktu kita untuk melakukan hal penting lainnya.

Salah satu keuntungan menggunakan backup otomatis adalah, kita bisa mengset jadwal backup diluar jam-jam kantor. Misal jam 5 sore, jam 12 malam atau jam lainnya sesuai dengan kebutuhan.

Database MySQL

Adapun database yang kita gunakan untuk simulasi backup otomatis ini adalah database MySQL. Untuk membackup database MySQL kita bisa gunakan tool bawaan MySQL yaitu mysqldump.

Adapun perintahnya seperti berikut :

1
2
' backup
mysqldump -uUSER_NAME -pUSER_PASSWORD --routines NAMA_DATABASE > LOKASI_FILE_BACKUP.SQL

Parameter –routines ditambahkan jika database mempunyai fungsi/trigger.

Karena data backupnya yang disimpan lebih dari satu, untuk nama database akan kita buat unik dengan format : nama_database-tahun-bulan-hari_jam_menit. Contoh :

Untuk mendapatkan informasi tahun, bulan, hari dan jam, kita bisa memanfaatkan batch command dengan perintah seperti berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%%c
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%%a
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%%b
 
for /f "tokens=1 delims=: " %%h in ('time /T') do set hour=%%h
for /f "tokens=2 delims=: " %%m in ('time /T') do set minutes=%%m
for /f "tokens=3 delims=: " %%a in ('time /T') do set ampm=%%a
 
rem membuat file backup database dengan format nama_database-tahun-bulan-hari_jam_menit
set FILE_BACKUP=D:\backup\Chinook-%year%-%month%-%day%_%hour%-%minutes%-%ampm%
 
rem USER_NAME, USER_PASSWORD dan NAMA_DATABASE menyesuaikan
mysqldump -uroot -prahasia --routines Chinook > %FILE_BACKUP%.sql

Setelah itu kode di atas kita simpan di folder Instalasi MySQL\bin, misal dengan nama backup.cmd.

Windows Task Scheduler

Agar file backup.cmd ini bisa dijalankan secara berulang-ulang dan otomatis, kita bisa memanfaatkan tool yang sudah tersedia di Windows yaitu Windows Task Scheduler.

Untuk mengakses tool ini bisa dilakukan melalui menu Start -> Accessories -> System Tools -> Task Scheduler

Berikut langkah-langkah untuk menambahkan task baru.

  1. Klik Create Basic Task di panel Actions Kemudian isikan informasi Name dan Description kemudian klik tombol Next

  2. Di dialog berikutnya kita akan menentukan kapan task ini akan di eksekusi. Contoh jika task ini akan dieksekusi setiap hari kita pilih Daily.

  3. Berikutnya kita akan menentukan jam berapa task ini akan dieksekusi

    Pada gambar di atas, task ini akan dieksekusi setiap jam 5 sore.

  4. Berikutnya kita akan menentukan apa yang akan dilakukan task ini, ketika dieksekusi. Sebagai contoh task ini akan menjalankan file backup.cmd yang tersimpan di folder bin MySQL

    Di bagian Program/script kita tentukan nama file backup.cmd, sedangkan untuk Start in kita tentukan lokasi/folder file backup.cmd

  5. Terakhir klik tombol Finish

Untuk mencoba apakah backup berjalan dengan baik, klik kanan nama task Backup Database Chinook -> Run

Selamat MENCOBA :)

database, mysql

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Paket NuGet yang Wajib dicoba Bagian #1 - CrashReporter.NET Tutorial WCF Service Bagian #1 »

Comments