Karena saya baru-baru ini menyiapkan cadangan untuk NextCloud misalnya, saya pikir itu akan menjadi ide yang baik untuk menulis tutorial tambahan tentang cara melakukan MySQLdump tanpa kata sandi di Cronjob. Masalah dengan dump MySQL adalah, jika Anda menjalankan perintah tanpa memberikan file kata sandi, itu akan selalu meminta Anda untuk memasukkan kata sandi Anda. Ini akan sulit jika Anda ingin menjalankan perintah itu dalam Cronjob .
Prosesnya cukup cepat dan mudah, jadi saya akan memandu Anda melalui setiap langkah.
Langkah 1 - Membuat / Mengedit file my.cnf
Dalam beberapa kasus, file ini sudah ada, jika tidak, buat saja.
sudo nano ~/.my.cnf
Dan sekarang cukup rekatkan baris berikut, sesuaikan untuk menyimpan nama pengguna dan kata sandi Anda, tentu saja.
[mysqldump] user = mysqluser password = yourpassword
Jika file sudah ada dan memiliki data di dalamnya, cukup rekatkan 3 baris tersebut tepat di bawahnya.
Langkah 2 - Menyesuaikan izin
Sekarang kita perlu menyesuaikan izin.
chmod 600 ~/.my.cnf
Langkah 3 - Membuat Cronjob
Sekarang kita akan membuat Cronjob. Jika Anda ingin mempelajari dasar-dasar cara kerja Cronjobs, lihat tutorial komprehensif saya di atasnya.
Untuk mengedit file Crontab, jalankan:
crontab -e
Dan untuk melakukan MySQL Dump setiap hari pada pukul 21:00 tambahkan baris berikut di bagian bawah. Untuk mempelajari cara kerja waktu, lihat tutorial saya yang lain.
0 21 * * * mysqldump -u mysqluser -h localhost – all-databases | gzip -9 > mysqldbbackup.sql.gz > /dev/null
Langkah 4 (Opsional) - Secara manual menjalankan MySQL Dump
Jika Anda ingin menjalankan MySQL Dump secara langsung, jalankan saja:
mysqldump – single-transaction -h localhost -u mysqluser > /usr/share/mysqlbackups/mysqldbbackup.sql
Dan di sana Anda memilikinya. Beginilah cara Anda menjalankan MySQLdump tanpa kata sandi di Cronjob.