MySQL veritabanı yedeğini almanın en kolay yolu mysqldump komutunu kullanmaktır. Yedekleme işlemini otomatik hale getirmek için ise crontab kullanabiliriz. Bu işlem için ise genellikle crontaba aşağıdaki komutu ekleriz.
Burada mysqldump komutuna şifreyi -p parametresi ile geçiyoruz. Bu şekilde komut çalışırken giriş yapmış herhangi bir kullanıcı ps aux komutu ile işlem tablosuna bakarak şifreyi görebilir. Buradaki hata girdisine verilmiş cevabı da okuyabilirsiniz.
Çözüm olarak öncelikle yedek alacağınız kullanıcının şifresini aşağıdaki formatta bir dosyaya kayıt ediyoruz.
Dosyayı /root/mysqldump.cnf olarak kayıt edebilirsiniz. Aşağıdaki komut ile dosyayı sadece root kullanıcısının okuyabileceği şekilde yetkilerini ayarlıyoruz.
İşlem tamamdır.
PHP:
00 2 * * * root mysqldump -u root -pPASSWORD --all-databases > /var/mysqldump
Burada mysqldump komutuna şifreyi -p parametresi ile geçiyoruz. Bu şekilde komut çalışırken giriş yapmış herhangi bir kullanıcı ps aux komutu ile işlem tablosuna bakarak şifreyi görebilir. Buradaki hata girdisine verilmiş cevabı da okuyabilirsiniz.
Çözüm olarak öncelikle yedek alacağınız kullanıcının şifresini aşağıdaki formatta bir dosyaya kayıt ediyoruz.
PHP:
[mysqldump]
password=PASSWORD
Dosyayı /root/mysqldump.cnf olarak kayıt edebilirsiniz. Aşağıdaki komut ile dosyayı sadece root kullanıcısının okuyabileceği şekilde yetkilerini ayarlıyoruz.
PHP:
chmod 400 /var/mysqldump.cnf
İşlem tamamdır.