Kebetulan saya memiliki akses VPS di kantor, dan bertanggung jawab untuk mengantisipasi hal buruk jika terjadi. Ya, hal buruk sebelumnya pernah menimpa dengan hilangnya sebagian besar data pada database. Jika hal itu terjadi merupakan mimpi buruk bagi sebuah perusahaan media yang setiap harinya mempublikasikan berita sampai berjumlah ratusan.
Dan kebetulan juga SDM IT di sini terbatas, jadi sesuatu yang serba instant otomatis sangat didambakan. Sesuatu apapun!
Okay, fokus ke topik utama, yaitu Automatic MySQL Backup. Diperlukan peran crontab dan mysqldump. Crontab diperlukan untuk melakukan schedule, sementara itu mysqldump merupakan perintah untuk dumping database kedalam format sql atau compressed sql (gzip, tar.gz, tar, 7z, etc).
Saya asumsikan melakukan backup setiap hari Jum’at pukul 23.01 melalui crontab, sehingga perlu melakukan editing pada file /etc/crontab, lalu tambahkan baris seperti berikut:
01 23 * * 5 root mysqldump -hmyhost -umyuser -pmypass db_name | gzip > /home/user/db_backup/db_name_`date +\%Y\%m\%d-\%H\%M\%S`.sql.gz
Selamat mencoba! 😀