mySQL Yedek Alıp Yandex.Disk Yüklemek

Eski blog adresimde 16 Nisan 2014 yılında yazıp paylaştığım bir sınıfımın yazısını tekrar yazıyorum çünkü aradan 5 yıl geçmesine rağmen halen kullanılan bir sınıf olduğu için neden bunu yapmayayım değil mi? Şimdi bu sınıf mySQLi sınıfını kullanarak SQL yedeğinizi alıp Yandex.Disk'e webDAV bağlantısını kullanarak yüklemektedir. Tercih meselesi olarak ben SQL yedeklerimi sunucu haricinde ekstra yandexte tutmayım çünkü bilindiği gibi güvenlik delisi olduğum kadarda garanticiyimdir. Şimdi lafı daha da uzatmadan sınıfını tanıtayım.

sBackup.Class.PHP Nedir?
mySQL yedeğinizi almaya ve Yandex.Disk hesabınıza upload etmeye yarayan gelişmiş özellikli bir sınıftır. Bunun sayesinde Cronjob ile otomatik olarak sitelerinizin yedeğini alabilir dilerseniz FTP ye veyahut Yandex.Disk adresinize kaydedebilirsiniz.

Sınıf Kullanımı
include "sBackup.class.php";


# Veritabanına bağlanıyoruz.
$backup = new sBackup('localhost', 'user', 'password', 'dbname');

# Yandex.Disk e upload edilmeyecek ise FALSE olmalıdır.
# Default olarak FALSE değeri vardır.
$backup->yandexUpload = TRUE;

# YandexUpload TRUE ise Yandex.Disk kullanıcı adımızı giriyoruz.
$backup->yandexUser = 'user';

# YandexUpload TRUE ise Yandex.Disk kullanıcı adımızın şifresini giriyoruz.
$backup->yandexPassword = 'password';

# YandexUpload TRUE ise Yandex.Disk içinde özel bir klasore kaydetmek istiyorsak onun adını giriyoruz.
$backup->yandexKlasor = 'backup';

# SQL dosyalarımızın geçiçi veya kalıcı olarak kaydedileceği klasor adıdır.
# Default olarak tmp/ klasoru adındadır.
$backup->cacheKlasoru = 'backup/';

# Sunucuya kaydedilen .sql dosyasının silinip silinmeyeceğini belirler.
# Default olarak FALSE değerindedir.
# YandexUpload FALSE ise bu değer siz TRUE belirleseniz bile FALSE olarak işlem yapacaktır.
$backup->cacheFilesDelete = TRUE;

# Değer FALSE olur ise dosyanın yükleneceği veritabanı içinde benzer tablo adları bulunmamalıdır.
# Default olarak TRUE değerindededir
$backup->dropTable = FALSE;

# Tabloların yedeklendiği fonksiyondur. Boş bırakılır ise tüm tabloları kaydedecektir.
# Eğer tek bir tabloyu kaydetmesini isterseniz dizi halinde tablo isimlerini gönderebilirsiniz.
# $backup->Backup(array('tablo', 'tablo2')); gb.
$backup->Backup();

Dip Not: Sınıf mySQL veritabanına ulaşmak için mySQLi kullandığından ötürü php sürümü PHP 5.x ve üstü olmalıdır. Github adresimden indirmek isteyenler bu linkten indirebilirler. İsteyenler direk alt kısımda ek olarak sunduğum yerden indirebilirler.