/**
  * 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
//db to work with
$drop_table_if_exists = true;
//should we drop table if exist?
$somecontent = "/*\n\n+-------------------------------------------------------------+\n\n+-------------------------------------------------------------+\n\n+---------By:Amila Jayasinghe (amilaplus@gmail.com)-----------+\n\n+-------------------------------------------------------------+\n\n*/\n\n";
// no need for editing further
$backup = new MySQLDump();
//create new instance of MySQLDump
$backup->droptableifexists = $drop_table_if_exists;
//set drop table if exists
$backup->connect($dbhost, $dbuser, $dbpass, $dbname);
//connect
if (!$backup->connected) {
    die('Error: ' . $backup->mysql_error);
}
//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)