/**
  * Run the task, and do the business
  *
  * @param SS_HTTPRequest $httpRequest 
  */
 function run($httpRequest)
 {
     global $databaseConfig;
     // environment type
     Director::set_environment_type("dev");
     // debug
     ini_set("display_errors", "2");
     ERROR_REPORTING(E_ALL);
     /*
     $dbhost 		= $databaseConfig['server'];
     $dbuser 		= $databaseConfig['username'];
     $dbpwd   		= $databaseConfig['password'];
     $dbname  		= $databaseConfig['database'];
     $backupfolder 	= $_SERVER['DOCUMENT_ROOT'].'/db_backups';
     $dumpfile	 	= $backupfolder."/".$dbname."_".date("Y-m-d_H-i-s").".sql";
     
     if (!is_dir($backupfolder)) mkdir($backupfolder);
     
     passthru("/usr/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd $dbname > $dumpfile");
     
     echo "Created: ".$dumpfile; passthru("tail -1 $dumpfile");	
     */
     $drop_table_if_exists = false;
     //Add MySQL 'DROP TABLE IF EXISTS' Statement To Output
     $dbhost = $databaseConfig['server'];
     $dbuser = $databaseConfig['username'];
     $dbpass = $databaseConfig['password'];
     $dbname = $databaseConfig['database'];
     $backupfolder = __DIR__ . '/../../db_backups';
     $dumpfile = $backupfolder . "/" . $dbname . "_" . date("Y-m-d_H-i-s") . ".sql";
     $backup = new MySQLDump();
     $backup->droptableifexists = $drop_table_if_exists;
     $backup->connect($dbhost, $dbuser, $dbpass, $dbname);
     //Connect To Database
     if (!$backup->connected) {
         die('Error: ' . $backup->mysql_error);
     }
     //On Failed Connection, Show Error.
     $backup->list_tables();
     //List Database Tables.
     $broj = count($backup->tables);
     //Count Database Tables.
     $output = '';
     echo "found " . $broj . " tables \n\n";
     for ($i = 0; $i < $broj; $i++) {
         $table_name = $backup->tables[$i];
         //Get Table Names.
         $backup->dump_table($table_name);
         //Dump Data to the Output Buffer.
         $output .= $backup->output;
     }
     if (!is_dir($backupfolder)) {
         mkdir($backupfolder);
     }
     file_put_contents($dumpfile, $output);
     echo "Dumped into " . $dumpfile;
     //echo "<pre>".$output."</pre>";
 }
Beispiel #2
0
//if not connected, display error
$backup->list_tables();
//list all tables
$broj = count($backup->tables);
//count all tables, $backup->tables will be array of table names
//echo "<pre>\n"; //start preformatted output
$somecontent .= "-- Dumping tables for database: `{$dbname}`\n";
//write "intro" ;)
$somecontent .= "\n\nSET FOREIGN_KEY_CHECKS=0; \n";
//write "intro" ;)
//dump all tables:
for ($i = 0; $i < $broj; $i++) {
    $table_name = $backup->tables[$i];
    //get table name
    if ($table_name != 'at_system_users') {
        $backup->dump_table($table_name);
        //dump it to output (buffer)
        $somecontent .= $backup->output;
        //write output
    }
}
$somecontent .= "\n\nSET FOREIGN_KEY_CHECKS=1; \n\n";
//write "intro" ;)
//create the zip archive
$zip = new ZipArchive();
$zipfilename = "backup/" . $backupName;
$res = $zip->open($zipfilename, ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString($backupName . '.sql', $somecontent);
    $zip->close();
    echo '&nbsp&nbsp<a href="' . $zipfilename . '"><button name="backup" type="button" class="btn btn-primary btn-lg"> Click Here to Download System Backup</button></a>';
Beispiel #3
0
$backup = new MySQLDump();
//set drop table if exists
$backup->droptableifexists = true;
//connect to mysql server (host, user, pass, db)
$backup->connect($mysql_data_host, $mysql_data_username, $mysql_data_password, 'ipp');
//if not connected, display error
if (!$backup->connected) {
    die('Error: ' . $backup->mysql_error);
}
//get all tables in db
$backup->list_tables();
//reset buffer
$buffer = '';
//go through all tables and dump them to buffer
foreach ($backup->tables as $table) {
    $buffer .= $backup->dump_table($table);
}
if (strstr($HTTP_USER_AGENT, "MSIE 5.5")) {
    // had to make it MSIE 5.5 because if 6 has no "attachment;" in it it defaults to "inline"
    $attachment = "";
} else {
    $attachment = "attachment;";
}
header("Pragma: ");
header("Cache-Control: ");
header("Content-Length: " . strlen($buffer));
//display dumped buffer
header("Content-Type: text/x-sql");
//header("Content-Disposition: attachment; filename=ipp_database_" . date("Y-m-d_H.m.s") . ".sql");
header("Content-disposition: {$attachment} filename=\"ipp_database_" . date("Y-m-d_H.m.s") . ".sql\"");
echo $buffer;