
02-02-2012, 18:37:42
|
| |
Alıntı: BLu3Ey3S Nickli Üyeden Alıntı
Merhaba arkadaşlar cpanel sunucum var burda bir hosting paketinde sitem var. İstediğim sitenin seçtiğim databasenin otomatik günlük backupunu alsın sistem bir yere atsın lazım olunca ordan indireyim. Nasıl yapabilirim. Şimdiden teşekkürler | normalde bunu hosting sağlayıcının yapması lazım. cpanel'de direkt olarak "bildiğim kadarıyla" böyle bir şey yok. fakat cron jop kullanarak şöyle bir şey yapabilirsin "ve bildiğim kadarıyla artık cpanel ile cron jop düzenleyebiliyorsun"; PHP- Kodu:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Veritabanı Yedek Alma</title>
</head>
<body>
<?php
backup_tables('localhost','kullanıcıadı','şifre','veritabanı');
/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
/*mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci' ");
*/
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
//$return.= 'DROP TABLE '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "\n\n".$row2[1].";\n\n";
for ($i = 0; $i < $num_fields; $i++)
{
while($row = mysql_fetch_row($result))
{
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++)
{
$row[$j] = addslashes($row[$j]);
$row[$j] = ereg_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ");\n";
}
}
$return.="\n\n\n";
}
/*echo '<textarea cols="150" rows="15">
'.$return.'
</textarea>';
*/
//save file
$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
fwrite($handle,$return);
fclose($handle);
}
?>
</body>
</html>
backup_tables('localhost','kullanıcıadı','şifre',' veritabanı'); bölümünü kendine göre düzenle. daha sonra bir klasörün içine at. mesela ; http://siteadi.com/klasor/v/e/r/i/t/...er/yedekal.php
daha sonra cron jop a yedekal.php yi istediğin ayarlara göre çalıştırmasını söyle. bu dosya http://siteadi.com/klasor/v/e/r/i/t/...allabirseyler/ altına veritabanına sql uzantılı kaydedecektir. |