Skip to main content

Script auto backup mysql linux

Skenario terdapat 2 server.

  • Server database. IP address 192.168.1.100
  • Server backup. IP address 192.168.1.111

Alur backup

  1. server database menjalankan script mysqldump secara otomatis dengan memanfaatkan crontab
  2. mengkompres backup sql ke zip file
  3. copy file backup ke server backup

Config di Server Database

Buat direktori /backup-db1

Buat user MySQL khusus untuk backup dengan privileges setara root. Contoh root01

Pastikan server database dan backup memiliki autentikasi passwordless.

Saran : Sebaiknya buat user linux khusus untuk keperluan backup. Jangan menggunakan root

ssh-keygen
ssh-copy-id root@192.168.1.111

Buat file backup_db.sh dan isikan script berikut ini (Download dari Git ) :

Jalankan crontab -e yang mengeksekusi file shell setiap hari pada jam 02.03

3 2 * * * /root/backup_db.sh

Config di Server Backup

Buat direktori /backup-db1

Buat script sh yang melakukan penghapusan file backup jika lebih dari 31 hari, isinya sebagai berikut :

find /backup-db1 -mtime +31 -delete

Jalankan crontab -e yang mengeksekusi file shell pada jam 03.03.

3 3 * * * /root/autodelete-backup-db1.sh

Sumber :