Cara Backup MySQL/MariaDB Secara Otomatis di Linux
Data atau konten dari aplikasi tersimpan di database, oleh karena itu sangat penting untuk melakukan backup secara rutin. Backup di Linux dapat dilakukan secara otomatis pada waktu tertentu. Nah, di tutorial kali ini saya membahas cara backup database MySQL/MariaDB secara otomatis di Linux.
Membuat Bash Script Backup
Membuat folder backup
1 2 | sudo su mkdir -p /root/backup/db |
Membuat bash script di nano
1 | nano /root/backup.sh |
Contoh bash script backup seperti di bawah ini, sesuaikan dengan database yang teman-teman gunakan. Backup database MySQL/MariaDB menggunakan mysqldump dan dikombinasikan dengan gzip untuk mengkompres file .sql menjadi .sql.gz. Format nama file juga ditambahkan tanggal backup, %d=day/tanggal %m=month/bulan %y=year/tahun. Hasil backup tersimpan di folder yang telah dibuat sebelumnya /root/backup/db.
1 2 | #!/bin/bash mysqldump -uuser_db -ppass_db nama_db | gzip > /root/backup/db/nama_db-$(date +%d%m%Y).sql.gz |
Setelah membuat bash script backup aktifkan atribut X (execute).
1 | chmod +x /root/backup.sh |
Menguji bash script backup, jalankan bash script backup dan cek folder backup.
1 2 | cd /root ./backup.sh |
Menjadwalkan Backup di Cron
Setelah bash script backup dibuat, selanjutnya adalah menjadwalkan pemanggilan bash script backup secara otomatis pada waktu tertentu melalui Cron. Misalnya backup dilakukan setiap jam 24.00.
Setiap user bisa memiliki cron, pastikan cron yang disetting adalah cron milik root.
1 | sudo crontab -e |
Tambahkan pada baris paling bawah.
1 | 0 0 * * * bash /root/backup.sh |
Artikel tentang Cron baca di Crontab, Penjadwalan Secara Otomatis di Linux.
Dengan kombinasi bash script dan cron, maka database MySQL/MariaDB dapat dibackup secara otomatis.
selamat mencoba 🙂
mas itu kalau server nya reboot harus dijalanin ulang lagi yh bash nya dengan perintah ./backup
Halo Mas Musa kalau banyak database gmn penulisan di bash scriptnya? Thanks
halo om Achmad. backup semua database dalam satu kali baris perintah
mysqldump -u root -p --all-databases > all_databases.sql
kalau cara hapus otomatis hasil file backup, ada tidak pak???
coba googling “linux delete old files”