Başıma gelen bir veri kaybı olayından sonra sizlerin de böyle birşeye ihtiyaç duyabileceğinizi hissettim ve bu makaleyi buradan paylaşmak istedim.
Konumuz, Cpanel kullanan web hostinglerde otomatik yedek alımı..
// Bu PHP uygulaması ile Cpanel kullanılan web hostinglerde otomatik yedek alınması sağlanılır.
// Bu uygulamada şifreleriniz yer alacaktır, o yüzden web sunucunuzda ulaşılması zor bir yere koyun. (public_html yerine home dizinine atabilirsiniz)
// ********* AŞAĞIDAKİ ALANLARIN DÜZENLENMESİ GEREKİYOR *********
// Cpanel erişim bilgileri
$cpuser = “kullanıcı”; // Cpanel’e girerken kullandığınız kullanıcı adınız.
$cppass = “sifre”; // Cpanel’e girerken kullandığınız şifreniz.
$domain = “alanadi.com”; // Üzerinde çalıştığınız alan adını girin.
$skin = “x3″; // Cpanel’de kullanılan şablonu giriniz. (eğer şablonlar uyuşmazsa uygulama çalışmayacaktır). Genelde x veya x3 teması kullanılır.
// FTP Bilgileri
$ftpuser = “ftp-kullanici”; // FTP için kullanıcı (genelde yukarıda girmiş olduğunuz bilgilerle aynı olur)
$ftppass = “ftpşifreniz”; // FTP için şifre (genelde yukarıda girmiş olduğunuz bilgilerle aynı olur)
$ftphost = “ftp.alanadi.com”; // alan adınızın ftp adresi örn; ftp.alanadi.com
$ftpmode = “ftp”; // FTP Modu (aktif ftp modu için “ftp”, pasif FTP modu için “passiveftp” giriniz)
// Geri bildirim
$notifyemail = “kullanici@alanadi.com”; // Yedek alma işlemleri bilgilerinin gönderileceği adresi girin.
// Güvenli ya da normal mod.
$secure = 0; // Güvenli mod için 1, (SSL desteği gerekir), diğer hallerde standart durum kullanılır.
// Cron job işlemi sonrasında sonuçların bir web sayfasında tutulmasını istiyorsanız 1 yapınız.
$debug = 0;
// *********** AŞAĞIDAKİ ALANLARI DÜZELTMENİZE GEREK YOKTUR *********
if ($secure) {
$url = “ssl://”.$domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}
$socket = fsockopen($url,$port);
if (!$socket) { echo “Bağlantı sırasında hata olustu… Islem terkediliyor!\n”; exit; }
// Encode authentication string
$authstr = $cpuser.”:”.$cppass;
$pass = base64_encode($authstr);
$params = “dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&submit=Generate Backup”;
// Cpanel’e POST komutunu gönder.
fputs($socket,”POST /frontend/”.$skin.”/backup/fullbackup.html?”.$params.” HTTP/1.0\r\n”);
fputs($socket,”Host: $domain\r\n”);
fputs($socket,”Authorization: Basic $pass\r\n”);
fputs($socket,”Connection: Close\r\n”);
fputs($socket,”\r\n”);
// Hiçbirşey yapılmamış olsa dahi bilgi al..
while (!feof($socket)) {
$response = fgets($socket,4096);
if ($debug) echo $response;
}
fclose($socket);
?>
yukarıda renkli şekilde belirtilen kodu backup.php adı ile kaydedin, gerekli yerleri kendinize göre düzenledikten sonra, web sunucunuzda home dizini altına atın public_html değil!
Sonraki adımda Cpanel kontrol panelinize girerek “Cron Jobs” menüsüne girin ve “Advanced (Unix Style)” seçin.
Ben örnek olarak yedeğin her gece 2,30 da alınmasını yazıyorum, siz dileğinize göre değiştirebilirsiniz.
30 2 * * * /usr/local/bin/php /home/kullanıcıadınız/backup.php
Bu kodu girip kaydedin.. Bütün işlem bu kadar..
Bir noktada sorun yaşayabilirsiniz, hemen onun da detayını vereyim,
fputs($socket,”POST /frontend/”.$skin.”/backup/fullbackup.html?”.$params.” HTTP/1.0\r\n”);
Uygulamada bir sorun yaşamanız durumunda yukarıdaki satırda bulunan
/backup/fullbackup.html? bölümünü /backup/dofullbackup.html?
olarak değiştirin..
Cpanelde x şablonunu kullananlarda dofullbackup.html, x3 şablonunu kullananlarda ise fullbackup.html kullanılıyor.
Sorun halinde sezer@linuxmail.org adresinden ulaşınız.
Arama etiketleri: cpanel, otomatik yedek alma