/** * 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>"; }
//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)