Regular Auto Backup MySQL / MariaDB di Ubuntu
Bismillahirrahmanirrahim.
Untuk mengamankan data dari potensi kehilangan Saya butuh melakukan backup seluruh database MariaDB di laptop seminggu sekali, ini adalah hal kedua yang saya lakukan untuk menghindari kehilangan data mysql/mariaDB kalau ada apa-apa di OS linux mint laptop (hal pertama, baca Cara Mengubah Direktori Data MariaDB dengan Symlink).
Waktu googling sana sini, saya ketemu artikel yang berisi bash script untuk membuat backup seluruh database MySQL atau MariaDB menjadi 1 file per database.
https://skycube.net/2014/06/13/backup-all-mysql-databases-in-separate-files
Ini saya buat gist bash script-nya.
Cara menggunakan script
Cara pakainya di localhost/laptop:
-
Buat script dulu
backupMySQLDBsinSingleFiles.sh
bebas taruh di direktori mana saja, misal saya di/home/nafies/Documents/Nafies/backups
. -
Pastikan kedua variable di dalam file tersebut sesuai dengan credential MySQL di localhost
USER='root'
PASSWORD='root_password'
-
Pastikan MySQL/MariaDB kita sedang aktif.
-
Coba jalankan script (abaikan
[Warning] Using a password...
):
$ cd /home/nafies/Documents/Nafies/backups
$ chmod +x backupMySQLDBsinSingleFiles.sh
$ ./backupMySQLDBsinSingleFiles.sh
Starting MySQL Backup
Mon Apr 26 06:41:40 +08 2021
mysql: [Warning] Using a password on the command line interface can be insecure.
Dumping database: database_1
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Dumping database: database_2
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Dumping database: database_3
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Dumping database: database_4
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Finished MySQL Backup
Mon Apr 26 06:41:51 +08 2021
-
Sampai di sini kita akan mendapatkan direktori/folder baru berupa timestamp
20210426_064140
, didalamnya ada file*.sql.gz
sebagai file backup tiap database. Seperti gambar di bawah:
Setup CRON untuk auto backup regular
Sekarang kita lanjutkan membuat CRON sintax agar proses backup jalan otomatis seminggu sekali. Misal tiap hari Sabtu jam 10 pagi. Jalankan perintah di terminal berikut:
$ crontab -e
# Taruh paling bawah
0 10 * * 6 cd /home/nafies/Documents/Nafies/backups && ./backupMySQLDBsinSingleFiles.sh 2>&1 | /usr/bin/logger -t MYSQL_BACKUP
Persis seperti gambar di bawah, kemudian simpan.
Sampai di sini selesai prosesnya.
Nanti cron akan melakukan backup otomatis seluruh database setiap Sabtu jam 10 pagi dari setting ini:
0 10 * * 6
Referensi: https://crontab.guru
Baik teman-teman, itu saja tips cara membuat auto backup database MySQL atau MariaDB secara regular di Ubuntu dan distro turunannya. Jika ada yang belum dipahami, silakan tuliskan dikolom komentar. Semoga bermanfaat, terima kasih.