Backup Mysql Server (VPS) Otomatis by Cron Job


Automatis backup database mysql serve , VPS dengan fitur Cron Job menggunakan OS Linux

Dababase asset penting dalam dunia aplikasi atau website dimana ini menjadi data utama yang harus, wajib di amankan salah satunya dengan cara BackUp.

 

Tentang Cron Job

Cron Job adalah aplikasi atau layanan yang memungkinkan kita untuk melakukan suatu tugas tertentu secara terjadwal otomatis tanpa harus melakukannya secara manual di server khususnya VPS Linux.

mengkonfigurasi Cron Job di linux, kita perlu menggunakan aplikasi bernama crontab. Jika anda belum menginstall cron atau pun crontab, anda bisa menginstallnya terlebih dahulu.

  • Ubuntu / Linux

Untuk pengguna ubuntu, kita bisa langsung install cron melalui apt.

sudo apt update
sudo apt install cron

info cron job : pengaturan dan konfigurasi cron job dengan aplikasi crontab

 

Backup Mysql

Buka dengan cara melakukan perintah di ssh server:

crontab -e

Lalu pada baris paling bawah, tambahkan perintah berikut (contoh kode):

0 0 * * * mysqldump -u nam_user toko_db > 
/var/backup/toko_db_$(date +\%Y-\%m-\%d).sql.gz

Statement di atas akan menginstruksi cron untuk membackup database toko_db setiap 1 hari sekali pada jam 00 / 12 malam.

Penjelasan:

  • Ganti jam 2 pagi bisa ubah menjadi: 0 2 * * * 
  • Arti lokasi folder : /var/backup (disesuikan dengan lokasi folder data vps masing2)

Penting:

Supaya data backup tidak over kapasitas penyimpanan server wajib di kompress file mysql menggunakan Gzip.

Menjadi:

0 2 * * * mysqldump -u nama_user toko_db | gzip > 
/var/backup/toko_db_$(date +\%Y-\%m-\%d).sql.gz

 

Hapus file backup lama

Buat automatis hapus backup data mysql ::  Skip delete file 1 hari terakhir, untuk menghapus file secara rutin, tambahkan perintah di atas di dalam crontab.

0 2 * * * find /folder/file -name "*.gz" -type f -mtime +0 -exec rm -f {} \;

Note:

  • Jika ingin ganti jam bisa ubah : 0 2 * * *
  • Ganti folder/file
  • Ubah extensi name * .qz
  • Seting tanggal terakhir di hapus +0

 

Seting Time Zone

Bertujuan jadwal cronjob tepat waktu dengan jam lokal khususnya Indonesia UTC +7 bisa seting pada bagian TZ dengan mengubah:

sudo timedatectl set-timezone Asia/Jakarta

Jangan lupa …

READ :  Mysqldump Tanpa Permintaan Password BackUp Crontab

Updated: September 2, 2023