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
- server database menjalankan script mysqldump secara otomatis dengan memanfaatkan crontab
- mengkompres backup sql ke zip file
- 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 :
- https://www.jotform.com/blog/how-to-backup-mysql-database/
- https://www.backuphowto.info/how-backup-mysql-database-automatically-linux-users
- https://web.archive.org/web/20120408181841/http://www.blogthority.com/87/how-to-backup-mysql-database-without-phpmyadmin//
- https://www.cyberciti.biz/faq/ubuntu-linux-mysql-nas-ftp-backup-script/
- https://sqlbak.com/blog/how-to-automate-mysql-database-backups-in-linux