Beispiel #1
0
	function dump($argv, $argc) {
		global $fold, $database, $site;

		$fix = $argv[1];
		
		$datestamp = date("Y-m-d_H-i-s");

		$dumpFileName = /* $page['base']['href'] . */ $fold['sql'] . $database['name'] . "_$datestamp.sql";
		$connection = mysql_connect($database['host'], $database['user'], $database['pass']);
		if (!$connection) {
			return "Святые одуванчики! У нас проблемы!";
		}

		include_once $fold['classes'] . 'MySQLDump' . $site['extensions'];
		$dumper = new MySQLDump($database['name'], $dumpFileName, false, false);
		mysql_query("set names utf8");
		$dumper->doDump();

		if ($fix) {
			# фикс заменяющий неработающую CURRENT_TIMESTAMP на некоторых серверах (в частности на сервере ФС)
			$fileContents = file_get_contents($dumpFileName);
			$fileContents = str_ireplace('CURRENT_TIMESTAMP', date("Y-m-d H:i:s"), $fileContents);
			file_put_contents($dumpFileName, $fileContents);
		}

		return "Дамп ${mysql['db']}_$datestamp.sql успешно создан в папку дампов и бекапов \"".$fold['sql']."\". Просмотр содержимого: `get last dump`. Создание дампа с просмотром осуществляется командой get mysql dump.\n";
	}
 /**
  * Writes to file the selected database dump
  * 
  * @return bool
  */
 function doFKDump($params = array())
 {
     parent::doDump($params, false);
     $this->getForeignKeys();
     $sql_file = "-- ------------\n";
     $sql_file .= "-- FOREIGN KEYS\n";
     $sql_file .= "-- ------------\n";
     $sql_file .= "SET FOREIGN_KEY_CHECKS = 0;\n\n";
     $sql_file .= $this->getForeignKeysRules();
     $sql_file .= "SET FOREIGN_KEY_CHECKS = 1;\n\n";
     $this->saveToFile($this->file, $sql_file);
     $this->closeFile($this->file);
     return true;
 }
Beispiel #3
0
set_time_limit(0);

/*** Дамп базы данных: ***/

include("../core/config/config.inc.php");
//include("class_mysqldump.php");
include("mysqldump.php");

$ready = false;
if(count($_POST) && !empty($_POST["filename"])) {
  mysql_connect($database_server, $database_user, $database_password) or die("F*****g shit! We have troubles!");
  $dumpFileName = "dumps/".$_POST["filename"].".sql";
  $dumper = new MySQLDump($dbase,$dumpFileName,false,false);
  mysql_query("set names utf8");
  @$dumper->doDump();
  // фикс заменяющий неработающую CURRENT_TIMESTAMP на наших серверах
  $fileContents = file_get_contents($dumpFileName);
  $fileContents = str_ireplace('CURRENT_TIMESTAMP','0000-00-00 00:00:00',$fileContents);
  file_put_contents($dumpFileName , $fileContents);
  $ready = true;
}

$filename = "dump_".date("d-m-Y");
include("dumperview.php");

/*** /дамп базы данных ***/

/*** Архив сайта: ***/

$archiveDir = "archives/";
Beispiel #4
0
 function add_sql($table)
 {
     if ($this->status != $this->cont['TARLIB_STATUS_CREATE']) {
         return '';
     }
     // File is not created
     if (!HypCommonFunc::loadClass('MySQLDump')) {
         $this->func->die_message('Class "MySQLDump" was not found.');
     }
     $db = $this->xpwiki->db;
     $removePrefix = $db->prefix($this->root->mydirname . '_');
     $short_name = substr($table, strlen($removePrefix));
     $this->dirs[] = 'DB@' . $short_name;
     $name = $this->cont['CACHE_DIR'] . $short_name . '.sql';
     $dumper = new MySQLDump($db->conn, $name, false, false);
     $dumper->removePrefix = $removePrefix;
     $dumper->maxFileSize = $this->limitSize;
     //$dumper->maxFileSize = 1048576; //1M
     // ToDo fix notice error of "MySQLDump" class.
     $_error_level = error_reporting(0);
     $dumper->doDump($table);
     error_reporting($_error_level);
     foreach ($dumper->sqlFiles as $name) {
         $this->add_file($name, false, '');
     }
     return 1;
 }
Beispiel #5
0
  /**
    * backup elkészitése  
	* @return void
	*/
  public function dobackup() {
	$session = JFactory::getSession();
	$userTerhats = $session->get('userTerhats');
	$jo = false;
	foreach ($userTerhats as $userTerhat) {
	  if ($userTerhat->terszerv_id == 1) $jo = true;
	}
	if (!$jo) {
	  echo '<div class="errorMs">'.JText::_('ACCESS_DENIED').'</div>';
	  return;
	}
	  
	  
	  $errormsg = ''; 
	  // config.php elérése
	  $config     = &JFactory::getConfig();
	  // mysql connection_aborted
      $connection1 = @mysql_connect($config->get('host'),
                                    $config->get('user'),
                                    $config->get('password'));
	  
	  // dump elkészitése
      if ($connection1) {
	     $results = mysql_query("SET NAMES UTF8;");
  	     $filePath =  JPATH_ROOT."/backups/".$config->get('db')."-".date('Y-m-d-H-i')."-" .rand().".sql.php";
		 if (file_exists($filePath)) unlink($filePath);
         $dumper = new MySQLDump($config->get('db'),$filePath,false,false);
         if (!$dumper->doDump())
           $errorMsg .= "<br /> error mysql dump.";
      } else {
        $errorMsg .= "<br /> error can not connect to mysql database.";
      }
	  if ($errorMsg != '') {
         echo '<div class="errorMsg">'.$errormsg.'</div>';		
	  } else {
		echo '<div class="infoMsg">
			  <center> 
			  <br /><br />
			  <h3>'.$config->get('db')."-".date('Y-m-d-H-i').".sql".'</h3>
			  <p>Database backup is complete</p>
			  <br /><br />
			  </center>
			</div>
			<script type="text/javascript">
			  if (parent) {
				  var wait = parent.document.getElementById("waiting");
				  if (wait) {
					  wait.style.backgroundImage = "none";
					  wait.innerHTML="<h3>Az adatbázis mentés elkészült.</h3>";
				  }
			  }
			</script>
		';	
	}
  }
<?php

//MySQL connection parameters
$dbhost = 'localhost';
$dbuser = '******';
$dbpsw = 'ppp';
$dbname = 'dynamic';
//Connects to mysql server
$connessione = @mysql_connect($dbhost, $dbuser, $dbpsw);
//Set encoding
mysql_query("SET CHARSET utf8");
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
//Includes class
require_once 'FKMySQLDump.php';
//Creates a new instance of FKMySQLDump: it exports without compress and base-16 file
$dumper = new MySQLDump($dbname, 'fk_dump.sql', false, false);
$params = array('skip_structure' => TRUE);
//Make dump
$dumper->doDump($params);