Translate








Rabu, 10 Agustus 2016

Auto Backup Database MySQL di Server Linux CentOS


Dari sekian banyak proses maintenance database, salah satunya yakni proses Backup. Backup amat sangat diperlukan untuk berbagai keperluan, terutama ketika hendak dilakukan maintenance lebih lanjut terhadap database seperti: tunning database, analisa data terpisah, atau bahkan keperluan historical terhadap data lampau. Maka proses backup ini adalah proses yang wajib. Karena sifatnya yang begitu critical dalam dukungannya terhadap availibilitas aplikasi fornt-end yang di sokongnya, biasanya database di backup secara berkala.

Jika server kita menggunakan Linux CentOS, ada beberapa cara yang bisa dilakukan untuk melakukan Backup Database. Disini salah satunya saya akan coba menggunakan tool "AutoMySQLBackup" yang akan digunakan untuk mem Backup database MySQL. Berikut tahapannya:

  1. Download tool AutoMySQLBackup di sourceforge atau disini.
  2. Copykan file yang sudah di download tadi ke server Linux CentOS, bisa dengan WinSCP
  3. Login kedalam server, buat direktori untuk menyimpan Data Backup
    [root@SVR ~]# mkdir /home/user/backupdb
    
    
  4. Install AutoMySQLBackup
    [root@SVR ~]# tar -xzvf automysqlbackup-v3.0_rc6.tar.gz
    [root@SVR ~]# cd automysqlbackup
    [root@SVR ~]# ./install.sh
    
    
  5. Buat file / Edit konfigurasi untuk Backup Database, dalam file /etc/automysqlbackup/myserver.conf, tambahkan credential database, seperti dibawah ini:
    # Username to access the MySQL server e.g. dbuser
    CONFIG_mysql_dump_username='root'
    
    # Password to access the MySQL server e.g. password
    CONFIG_mysql_dump_password='password'
    
    # Host name (or IP address) of MySQL server e.g localhost
    CONFIG_mysql_dump_host='localhost'
    
    # Backup directory location e.g /backups
    CONFIG_backup_dir='/home/user/backupdb'
    
    # set to (), i.e. empty, if you want to backup all databases
    CONFIG_db_names=('namadatabase')
    
    
  6. Buat bash script untuk menjalankan backup, disini saya coba buat di direktori /home/user/:
    [root@SVR ~]# nano /home/user/mybackupdb.sh
    
    

    isi file:
    #!/bin/sh
    
    /usr/local/bin/automysqlbackup /etc/automysqlbackup/myserver.conf
    
    chown root.root /home/user/backupdb* -R
    find /home/user/backupdb* -type f -exec chmod 400 {} \;
    find /home/user/backupdb* -type d -exec chmod 700 {} \;
    
    
  7. Ubah hak akses dengan chmod +x mybackupdb.sh. Lalu coba jalankan secara manual bash script tersebut:
    [root@SVR user]# ./mybackupdb.sh
    
    
  8. Cek file hasil backup
    [root@SVR ~]# ls /home/user/backupdb
    daily  fullschema  latest  monthly  status  tmp  weekly 
    [root@SVR ~]# ls /home/user/backupdb/daily/namadatabase/
    daily_namadatabase_2016-08-10_10h08m_Wednesday.sql.gz
    [root@SVR ~]#
    
    
  9. Buat schedule dengan crond
    [root@SVR ~]# crontab -e
    
    

    isi crond:
    45 23 * * * /home/user/mybackupdb.sh
    
    
  10. Jangan lupa untuk restart service crond:
    [root@SVR ~]# service crond restart
    
    
Dengan konfigurasi dasar tersebut, maka Database MySQL akan dibackup secara otomatis pada pukul 23:45 malam setiap hari nya. Ini bisa disesuaikan dan dikembangkan sesuai kebutuhan kita, misalnya dengan mem Backup semua database, dengan mengirimkan notifikasi via email, dan lain-lain. Selamat mencoba.

Like the Post? Do share with your Friends.

2 komentar:

IconIconIconFollow Me on Pinterest

Blogger news

Blogroll

What's Hot