Coba-coba Materi Backup Database MySQL di Ubuntu Server (Manual dan Otomatis)

Ntar sore Bair kebagian jatah preman untuk isi materi belajar bareng Ubuntu bulan Maret ini, jadi mumpung masih pagi sambil coba-coba dan review lagi sekalian aja dijadiin posting blog😀.

Untuk versi Ubuntu Server kita selalu menggunakan terminal/text based (walaupun sebenarnya tetap bisa menginstal dan mengaktifkan GUI juga sih, atau bahkan menjadikan Ubuntu Desktop sebagai server). Jadi oleh karena itu semua langkah di sini juga akan berbasis perintah text.

Pertama-tama saya akan memperkenalkan perintah umum untuk melakukan backup secara manual MySQL. 2 command yang umum standar bawaan mysql client adalah mysqldump dan mysqlhotcopy. Disini tidak perlu dijelaskan lebih lanjut, toh langkahnya tinggal jalankan perintah tersebut dengan opsi-opsi sesuai kebutuhan kita. Untuk lebih jelasnya langsung lihat dokumentasinya resminya aja di;

Nah yang akan dicoba disini adalah yang cara otomatis. Skenarionya disini kita pengen biar komputer kita (bisa server MySQL itu sendiri atau komputer lain yang dapat mengakses MySQL di server) dapat melakukan backup otomatis terhadap database yang diinginkan pada lokasi dan waktu yang diinginkan.

Dan ternyata sebagaimana yang sering saya cerita ke teman-teman, salah satu sisi baik dari begitu banyak sisi buruk  teknologi kita tertinggal dari tempat lain adalah hampir semua kebutuhan kita sudah ada yang bantuin bikin tools bahkan lengkah dengan caranya, jadi tinggal kita gunakan😀 hehehe. Dan pada kasus ini kita bisa menggunakan scrip AutoMySQLBackup.

OK langkah-langkah detailnya ya adalah sebagai berikut;

1. Download AutoMySQLBackup;

guyub@guyub-router:~$ wget http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%202.5/automysqlbackup.sh.2.5?use_mirror=nchc
–10:59:15–  http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%202.5/automysqlbackup.sh.2.5?use_mirror=nchc

=> `automysqlbackup.sh.2.5?use_mirror=nchc’
Resolving downloads.sourceforge.net… 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80… connected.
HTTP request sent, awaiting response… 302 Found
Location: http://nchc.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%202.5/automysqlbackup.sh.2.5 [following]
–10:59:16–  http://nchc.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%202.5/automysqlbackup.sh.2.5
=> `automysqlbackup.sh.2.5′
Resolving nchc.dl.sourceforge.net… 211.79.60.17
Connecting to nchc.dl.sourceforge.net|211.79.60.17|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 25,316 (25K) [application/x-sh]

100%[=================================================================================>] 25,316        23.35K/s

Biar teratur aplikasi ini kita pindahkan saja ke /opt

guyub@guyub-router:~$ sudo mv automysqlbackup.sh.2.5 /opt/

2. Setelah itu coba edit script tersebut, dan sesuaikan dengan kondisi dan kebutuhan kita.

guyub@guyub-router:/opt$ sudo nano automysqlbackup.sh.2.5

Nah ketika terbuka pada contoh ini saya hanya ingin melakukan edit standar saja yaitu pada koneksi database-nya, sedangkan yang lainnya dibiarkan default, jadi saya mengubah username, password dan nama database pada bagian ini;

# Username to access the MySQL server e.g. dbuser
USERNAME=root

# Username to access the MySQL server e.g. password
PASSWORD=passworduntukroot

# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost

# List of DBNAMES for Daily/Weekly Backup e.g. “DB1 DB2 DB3″
DBNAMES=” schema_coba  schema_coba2″

Perhatikan untuk nama dabatase disitu terlihat saya melakukan backup terhadap 2 database; schema_coba  dan schema_coba2. Jika ingin menambahkan database lagi cukup tambahkan dan pisahkan dengan spasi.

Oh ya sebagai tambahan agar bisa terlacak, saya juga menambahkan perintah untuk membuat log pada setiap kali aplikasi ini dieksekusi. Caranya cukup dengan menambahkan script seperti ini di automysqlbackup.sh.2.5;

echo “Berhasil backup: $(date)” >> /tmp/backupmysql-testing.log

Baris ini akan memerintahkan untuk membuat atau menambahkan file text biasa berekstensi log bernama backupmysql-testing di /tmp.

3. Selanjutnya saya membuat cron di Server

Lihat waktu saat ini biar hasil cron nya bisa segera kita lihat berhasil apa tidak😀

guyub@guyub-router:/opt$ date
Sun Mar 28 11:18:39 WIT 2010

guyub@guyub-router:~$ sudo crontab -e

Setelah masukkan pasword tambahkan aja baris ini;

25 11 * * * sh /opt/automysqlbackup.sh.2.5

Artinya adalah memerintahkan server untuk menjalankan script tersebut setiap hari pada pukul 11.25 AM. Selanjutnya tinggal di-save aja.

4. Nah sebenarnya langkah-langkahnya sudah selesai sampai langkah ke 3 tadi, jika semuanya sudah betul maka harusnya di server kita MySQL sudah terbackup secara otomatis, dimana standarnya akan ada backup harian, mingguan dan bulanan, serta ditaruh di folder /backups.

Langkah-langkah berikut ini hanya opsional aja untuk Quality Assurance *caillah* apakah langkah kita sudah tepat dan benar-benar sudah betul.

guyub@guyub-router:~$ ls -al /backups/
total 20
drwxr-xr-x  5 root root 4096 2010-03-28 11:25 .
drwxr-xr-x 22 root root 4096 2010-03-28 11:25 ..
drwxr-xr-x  4 root root 4096 2010-03-28 11:25 daily
drwxr-xr-x  2 root root 4096 2010-03-28 11:25 monthly
drwxr-xr-x  4 root root 4096 2010-03-28 11:25 weekly
guyub@guyub-router:~$ ls -al /backups/daily/
total 16
drwxr-xr-x 4 root root 4096 2010-03-28 11:25 .
drwxr-xr-x 5 root root 4096 2010-03-28 11:25 ..
drwxr-xr-x 2 root root 4096 2010-03-28 11:25 schema_coba
drwxr-xr-x 2 root root 4096 2010-03-28 11:25 schema_coba2
guyub@guyub-router:~$ ls -al /backups/daily/schema_coba
total 12
drwxr-xr-x 2 root root 4096 2010-03-28 11:25 .
drwxr-xr-x 4 root root 4096 2010-03-28 11:25 ..
-rw-r–r– 1 root root  840 2010-03-28 11:25 schema_coba_2010-03-28_11h25m.Sunday.sql.gz

Oh ya coba juga lihat log di /tmp tadi;

guyub@guyub-router:~$ nano /tmp/backupmysql-testing.log

Berhasil backup: Sun Mar 28 11:25:01 WIT 2010

——-
Demikian semoga berkah dan bermanfaat

5 thoughts on “Coba-coba Materi Backup Database MySQL di Ubuntu Server (Manual dan Otomatis)

  1. Agung Wiseso

    mas, ini tuh berjalan di Ubuntu Server ya?
    backupnya ini pindah ke komputer lain atau bagaimana mas?
    dan di script nya di instal di komputer backup atau yg sedang berjalan?

    Terima kasih

    Balas
    1. subair Penulis Tulisan

      Iya Pak, contoh langkah2 diatas untuk dijalankan di Ubuntu server, akan tetapi tinggal penyesuaian saja untuk dijalankan di server Linux lainnya.

      Script i ini bisa dijalankan di server itu sendiri atau server backup yang terpisah, tinggal diedit aja konfigurasi DBHOST di script-nya, dll yang dianggap perlu. Oh iya, selain itu jika remote harus diperhatikan apakah konfigurasi servernya membolehkan untuk diakses via remote.

      Balas

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s