PHP ile programlama yedeklenmesi (ve e-posta) tam bir MySQL veritabanı

4 Cevap php

Ben her gün bir MySQL veritabanı yedeğini almak gerekir, ve tercihen benim seçtiğiniz bir e-posta adresine e-posta kendisini var.

Bunu yapmak mümkün mü? Bir yedek dosyası oluşturmak için SQL nedir? Nasıl gönderilen e-postaya "eki" olarak bu dosyayı ekleyebilirsiniz?

Yardım için teşekkürler, ben gerçekten bu yedeklemeleri yapmak gerekir!

Ben cronjob yoluyla komut dosyası çağırmak için nasıl biliyor musunuz, bu yüzden günlük bir şey, bir sorun değildir.

4 Cevap

Sadece bir komut kabuğu düşmesi gibi ve benzeri bir mysql_dump komutu çalıştırın:

mysqldump <DB name> -u<user> -p<password> | gzip -c > /backup/`date +%Y-%m-%d`.sql.gz

Bu noktadan itibaren sadece (bir dosya eklemek için elini sözdizimi kapalı bilmiyorum) posta komutunu kullanabilirsiniz.

Sen exec sizin seçtiğiniz bir dosyaya veritabanının yedeğini oluşturmak için komut satırında mysqldump aramak için kullanabilirsiniz.

 mysqldump -u username -p password databaseName > databaseFile.sql

Sonra PHP, dosyayı bulabilir ve ek olarak yüklemek ve göndermek.

Ben hatırlatıyoruz alternatif çözümler var ise ben yapardım, veritabanı gönderme e-posta yoluyla ne kadar güvenli olduğunu bilmiyorum.

Tom'un yorum başına, PHP ile zip dosyaları için PHP Zlib and creating GZIP files "on the fly" bir göz atın.

Otomatik MySQL Yedekleme Komut

Bu script sunucu üzerinde MySQL veritabanlarının tüm bireysel, onları yedekler onları sıkıştırır, ve belirli bir dizin ve / veya size e-postalarda bu dosyayı saklar bulur. Bu ilk kamu çıktığından beri güncellenmiş ve bazı yeni özellikler içerir olmuştur.

http://www.dagondesign.com/articles/automatic-mysql-backup-script/

Ben kullanmak için kullanılır

MySQL database backup ===================== http://restkultur.ch/personal/wolf/scripts/db_backup

Ancak biraz eski, ve de dosyayı depolamak için nereye kadar, tutmak için kaç gün (ay ben onlar sürümü vb yükseltilmiş emin değilim Ama iyi çalışır ve yedekleme seçenekleri size çok givse - bu ) gereksiz güvenliği için başka bir sunucuya FTP üzerinden yüklenebilir.