Skip to 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

Lihat script di GitHub Gist

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:

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 :

Built with VitePress