Cara termudah untuk mengotomatisasi tugas ini adalah kombinasi dari MySQL Dumps dan cronjob. Anda dapat menemukan banyak informasi tentang topik ini di situs web ini dan lainnya, tetapi untuk penyelesaian:
Buat file mysqldump.sh
Yang akan berisi perintah dump mysql yang akan kami jadwalkan dalam pekerjaan cron (ganti pengguna, kata sandi, dan jalur yang sesuai dengan lingkungan Anda):
mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz
Sunting: Jika Anda ingin skrip menyimpan cadangan di lokasi yang jauh, cukup pasang perangkat yang sesuai atau bagikan dan gunakan jalur pemasangan di skrip.
Uji skripnya
Pastikan skrip memiliki izin eksekusi:
chmod +x /path/to/mysqldump.sh
Jalankan skrip:
sh /path/to/mysqldump.sh
Dan mengujinya berfungsi dengan benar (File cadangan akan dibuat di folder cadangan yang ditentukan).
Buat dan jadwalkan pekerjaan cron baru
Dalam jenis prompt perintah
sudo crontab -e
Dan tambahkan baris berikut di bagian bawah file:
30 23 * * * /path/to/mysqldump.sh
Ini akan menjalankan script setiap hari pukul 23:30.
Perpanjang skrip sederhana ini
Ada banyak hal yang dapat Anda lakukan untuk meningkatkan metode pencadangan sederhana ini:
- Mencadangkan ke sistem lain
- Monitor ruang disk
- Pelaporan email
- ...
Jadi jangan berakhir di sini dan bereksperimen! :-)
Gunakan alat cadangan atau layanan cadangan berbasis cloud
Meskipun metode di atas adalah salah satu yang termudah dan dapat diperluas sesuai dengan kebutuhan spesifik Anda, perlu disebutkan bahwa ada alternatif lain:
- backup-tools seperti AutoMySQLBackup, sebuah aplikasi open-source yang mungkin memudahkan proses konfigurasi Email-notifikasi, kompresi, enkripsi, rotasi dan jenis (misalnya inkremental) dari cadangan Anda. Adapun Mai 2018, tersedia untuk Server Ubuntu melalui APT.
- layanan pencadangan berbasis cloud seperti BackupBird, myRepono, Bitcan, dll. yang mungkin menarik jika Anda mengelola beberapa server basis data dan ingin mengelola semua cadangan secara terpusat.
Harap diingat bahwa saya tidak memiliki hubungan apa pun dengan solusi dan layanan yang disebutkan di atas dan saya hanya mencantumkannya sebagai referensi, jadi gunakan dengan risiko Anda sendiri.
Tautan / Referensi yang Berguna:
Cron -> https://en.wikipedia.org/wiki/Cron
MySQL Dump -> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
date +%F
- yang secara otomatis akan memilih kombinasi tahun + bulan + tanggal yang cocok dengan lokal pengguna (misalnya, saya akan dapatkanYYYY-MM-DD
).sudo crontab -e
dan jangan lupa untuk membuat skrip dapat dieksekusi:chmod +x /path/to/mysqldump.sh