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 …