Cpanel Cronjob İle Otomatik Yedek Alma - Yardım
-
(KOD)
// 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);
?>
(KOD)
Bu kodları düzenledikten sonra "backup.php" şeklinde kaydedip, ftp'nin "Home" dizinine attıktan sonra, kod satırına /usr/local/bin/php /home/kullanıcıadı/backup.php yazıp, ne sıklıkla uygulayacağını da ayarlıyıp kaydediyorum. Ayarladığım vakit geldiğindei mailime "backup.php" şeklinde kaydettiğim yazılar geliyor(Yanlış anlaşılmasın CPanel cronjob ayarlarında verdiğim mail adresine mail geliyor. Kodlardaki yere farklı mail adresi yazıyorum çalışıp çalışmadığını anlamak adına). Yani "backup.php" çalıştırılmıyor sadece okunup aynen mailime geliyor aynı kodlar.(CHMod ayarları 777)
Sanırım sorun "/usr/local/bin/php /home/kullanıcıadı/backup.php" kodunda ya da bilmediğim başka bir ayar var.
Yardımcı olursanız sevinirim, saygılar.
