Uzaktan bağlantı ile sitenin sql yedeğini almamızı sağlayan bir program var mı?
(site normal hostta bulunuyor, kendimize ait sunucu değil)
Uzaktan sql yedeği almak
3
●701
- 07-05-2007, 15:44:36Üyeliği durduruldu
<?php $dbname="dbadin"; $dbhost="localhost"; $dbuname="username"; $dbpass="pass"; $prefix=""; $admin_file="yedekal.php"; global $prefix, $db, $admin_file; switch($_GET["op"]) { case "backup": @set_time_limit(600); $crlf="\n"; switch($lang) { case french : // French Text $strNoTablesFound = "Aucune table n'a été trouvée dans cette base."; $strHost = "Serveur"; $strDatabase = "Base de données"; $strTableStructure = "Structure de la table"; $strDumpingData = "Contenu de la table"; $strError = "Erreur"; $strSQLQuery = "requête SQL"; $strMySQLSaid = "MySQL a répondu:"; $strBack = "Retour"; $strFileName = "Sauvegarde BD"; $strName = "Sauvegarde de la base de données"; $strDone = "effectuée le"; $strat = "à"; $strby = "par"; $date_jour = date ("d-m-Y"); break; default : // English Text $strNoTablesFound = "Database de Tablo Bulunamadı."; $strHost = "Host"; $strDatabase = "Database"; $strTableStructure = "Tablo"; $strDumpingData = "Tablo Icerigi"; $strError = "Hata"; $strSQLQuery = "SQL-Sorgusu"; $strMySQLSaid = "MySQL: "; $strBack = "Geri"; $strFileName = "Sql Yedegi"; $strName = "SQL Yedeği"; $strDone = "Tarih"; $strat = "Saat"; $strby = "ZirveTasarim.Com - CMS Yonetim Sistemleri"; $date_jour = date ("m-d-Y"); break; } header("Content-disposition: filename=$strFileName $dbname $date_jour.sql"); header("Content-type: application/octetstream"); header("Pragma: no-cache"); header("Expires: 0"); // doing some DOS-CRLF magic... $client = $_SERVER["HTTP_USER_AGENT"]; if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs)) { $os = $regs[1]; // this looks better under WinX if (eregi("Win",$os)) $crlf="\r\n"; } function my_handler($sql_insert) { global $crlf; echo "$sql_insert;$crlf"; } // Get the content of $table as a series of INSERT statements. // After every row, a custom callback function $handler gets called. // $handler must accept one parameter ($sql_insert); function get_table_content($db, $table, $handler) { $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die(); $i = 0; while($row = mysql_fetch_row($result)) { // set_time_limit(60); // HaRa $table_list = "("; for($j=0; $j<mysql_num_fields($result);$j++) $table_list .= mysql_field_name($result,$j).", "; $table_list = substr($table_list,0,-2); $table_list .= ")"; if(isset($GLOBALS["showcolumns"])) $schema_insert = "INSERT INTO $table $table_list VALUES ("; else $schema_insert = "INSERT INTO $table VALUES ("; for($j=0; $j<mysql_num_fields($result);$j++) { if(!isset($row[$j])) $schema_insert .= " NULL,"; elseif($row[$j] != "") $schema_insert .= " '".addslashes($row[$j])."',"; else $schema_insert .= " '',"; } $schema_insert = ereg_replace(",$", "", $schema_insert); $schema_insert .= ")"; $handler(trim($schema_insert)); $i++; } return (true); } // Return $table's CREATE definition // Returns a string containing the CREATE statement on success function get_table_def($db, $table, $crlf) { $schema_create = ""; //$schema_create .= "DROP TABLE IF EXISTS $table;$crlf"; $schema_create .= "CREATE TABLE $table ($crlf"; $result = mysql_db_query($db, "SHOW FIELDS FROM $table") or mysql_die(); while($row = mysql_fetch_array($result)) { $schema_create .= " $row[Field] $row[Type]"; if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0")) $schema_create .= " DEFAULT '$row[Default]'"; if($row["Null"] != "YES") $schema_create .= " NOT NULL"; if($row["Extra"] != "") $schema_create .= " $row[Extra]"; $schema_create .= ",$crlf"; } $schema_create = ereg_replace(",".$crlf."$", "", $schema_create); $result = mysql_db_query($db, "SHOW KEYS FROM $table") or mysql_die(); while($row = mysql_fetch_array($result)) { $kname=$row['Key_name']; if(($kname != "PRIMARY") && ($row['Non_unique'] == 0)) $kname="UNIQUE|$kname"; if(!isset($index[$kname])) $index[$kname] = array(); $index[$kname][] = $row['Column_name']; } while(list($x, $columns) = @each($index)) { $schema_create .= ",$crlf"; if($x == "PRIMARY") $schema_create .= " PRIMARY KEY (" . implode($columns, ", ") . ")"; elseif (substr($x,0,6) == "UNIQUE") $schema_create .= " UNIQUE ".substr($x,7)." (" . implode($columns, ", ") . ")"; else $schema_create .= " KEY $x (" . implode($columns, ", ") . ")"; } $schema_create .= "$crlf)"; return (stripslashes($schema_create)); } function mysql_die($error = "") { echo "<b> $strError </b><p>"; if(isset($sql_query) && !empty($sql_query)) { echo "$strSQLQuery: <pre>$sql_query</pre><p>"; } if(empty($error)) echo $strMySQLSaid.mysql_error(); else echo $strMySQLSaid.$error; echo "<br><a href=\"javascript:history.go(-1)\">$strBack</a>"; exit; } global $dbhost, $dbuname, $dbpass, $dbname; mysql_pconnect($dbhost, $dbuname, $dbpass); @mysql_select_db("$dbname") or die ("Unable to select database"); $tables = mysql_list_tables($dbname); $num_tables = @mysql_numrows($tables); if($num_tables == 0) { echo $strNoTablesFound; } else { $i = 0; $heure_jour = date ("H:i"); print "# ================================================== ======$crlf"; print "#$crlf"; print "# $strName : $dbname$crlf"; print "# $strDone $date_jour $strat $heure_jour $strby $name !$crlf"; print "#$crlf"; print "# ================================================== ======$crlf"; print "$crlf"; while($i < $num_tables) { $table = mysql_tablename($tables, $i); print $crlf; print "# --------------------------------------------------------$crlf"; print "#$crlf"; print "# $strTableStructure '$table'$crlf"; print "#$crlf"; print $crlf; echo get_table_def($dbname, $table, $crlf).";$crlf$crlf"; print "#$crlf"; print "# $strDumpingData '$table'$crlf"; print "#$crlf"; print $crlf; get_table_content($dbname, $table, "my_handler"); $i++; } } break; } ?>Bilgilerini buraya yaz
$dbname="dbadin";
$dbhost="localhost";
$dbuname="username";
$dbpass="pass";
Sonra hosta at yedekal.php?op=backup dediğin zaman veritabanını indirirsin - 10-05-2007, 21:30:57MisafirAynet adlı üyeden alıntı: mesajı görüntüle
Boş Beyaz bir sayfa çıkıyor olmuyor