NOT: bu iki dosyayı da sunucu da ki en üst dizine kopyalayın. Kesinlikle public_html yada www gibi klasörlere atmayın
backup.php kodları
// cron komutu
// php -q /home/kök_dizin/backup.php
// Bu komut dosyasi, Cpanel yedeginizi otomatik olarak belli zaman araliklarinda ya farkli bir sunucuya ya da kendi ftp sunucunuza yedek aldirir.
// Guvenlik acisindan public_html ya da www dizinlerinde bu dosyayi bulundurmayiniz.
// Bu komut dosyasi, https://gist.github.com/nikhgupta/1071596 adresinden alintilanmıştır.
// Cpanel Erisimi Icin Gerekli Bilgiler
$cpuser = "user"; // Cpanel'e giris yapmak icin kullanilan kullanici adi
$cppass = "pass"; // Cpanel'e giris yapmak icin kullanilan sifre
$domain = "domain.com"; // Yedeklemesini yapmak istediginiz domain adi
$skin = "paper_lantern"; // Cpanel icin kullanilan tema adi. Guncel surumlerde "paper_lantern" temasi kullanilmaktadir. Eger eski versiyon cpanel kullaniyorsaniz "x" kullanilabilir. Cpanel tema secimi onemlidir, aksi halde script calismaz.
// FTP Erisimi Icin Gerekli Bilgiler
$ftpuser = "user"; // Ftp ile giris yapmak icin kullanilan kullanici adi
$ftppass = "pass"; // Ftp ile giris yapmak icin kullanilan sifre
$ftphost = "ftp.domain.com"; // Site FTP adresi ya da IP adresi
$ftpmode = "homedir"; // Yedegin gonderilecegi yer (kendi hostinginizde yedekleme yapmak icin "homedir", uzak ftp sunucusuna gondermek icin "ftp" kullanilabilir)
$ftpport = "21"; // Port (Varsayilan = 21)
$rdir = "/"; // Yedekleme yapilacak dizin (Varsayilan = / )
// Bildirim Ayarlari
$notifyemail = "example@example.com"; // Sonuclarin gonderilecegi email adresi
// Secure , non-secure mode
$secure = 0; // SSL için 1 olarak ayarlayın (SSL desteği gerektirir), aksi takdirde standart HTTP kullanır
// Web sayfası sonucunun cron günlüğünde görünmesi için 1 olarak ayarlayın
$debug = 0;
// *********** Buradan aşağısını değiştirmeyin *********
if ($secure) {
$url = "ssl://" . $domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}
$socket = fsockopen($url, $port);
if (!$socket) {
echo "Soket bağlantısı açılamadı… Başarısız!\n";
exit;
}
// Kimlik doğrulama dizesini Şifrele
$authstr = $cpuser . ":" . $cppass;
$pass = base64_encode($authstr);
$params = "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$rdir&submit=Generate Backup";
// POST to cPanel
fputs($socket, "POST /frontend/" . $skin . "/backup/dofullbackup.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");
//Bununla bir şey yapmasak bile yanıtı al.
while (!feof($socket)) {
$response = fgets($socket, 4096);
if ($debug) echo $response;
}
fclose($socket);
?>
sil.php kodları
// cron komutu
// php -q /home/kök_dizin/sil.php$bugun = date("Y-n-j");
// bu tarih formatı tarihleri sıfır dolgusu olmadan yazar
// iki günden eski dosyaları buluyoruz
$cevir = strtotime('-2 day',strtotime($bugun));
// yedek klasörünün kaç gün silinmeden kalmasını istiyorsanız -2 yerine onu yazın
// buradan aşağısını değiştirmeyin
/****************************************************************/
$dun = date("n.j.Y",$cevir);
$silinecek = "backup-".$dun;
$dizin = "./";
$search_key = $silinecek;
if ($handle = opendir("$dizin") or die ("Dizin acilamadi!")) {
while (false !== ($file = readdir($handle))) {
$search_word = preg_match("/^$search_key/i", "$file");
if(is_file($dizin."/".$file) && $search_word) {
$filename = str_replace("/$search_key/i","$search_key",$file);
echo $filename."
";
}
}
closedir($handle);
}
unlink($filename);