/** * Creates a Database dump for all the DBs listed in the Array * @param Array Contains Strings identifying the DBs to dump */ function toAllDB($dbs) { $now = gmdate('Y.m.d.H.i.s'); if (!file_exists("./{$now}")) { mkdir("./{$now}"); } while (list($key, $val) = each($dbs)) { echo "{$key} => {$val}<br>"; $backup = new iam_backup("localhost", $val, "root", "", false, false, true, "./{$now}./{$val}.{$now}.sql.gz"); $backup->perform_backup(); } }
function __construct($output = false, $struct_only = false, $output = false, $compress = true) { $connections = Config::getConnectionData(); $db_host = $connections[Mysql::$active]['host']; $db_name = $connections[Mysql::$active]['name']; $db_user = $connections[Mysql::$active]['user']; $db_pass = $connections[Mysql::$active]['pass']; if ($output == false) { $output = "backup_" . date('d_m_Y') . ".sql.gz"; } $backup = new iam_backup($db_host, $db_name, $db_user, $db_pass, $struct_only, $output, $compress, './' . $output); $backup->perform_backup(); }
function backupAction() { $db_name = "inventory_control"; $file_name = 'Backups/' . $db_name . '_' . date('Y-m-d') . '_' . date('U') . '.sql'; require_once "Model/Backup/iam_backup.php"; $backup = new iam_backup("localhost", "{$db_name}", "root", "", false, true, false, $file_name); $backup->perform_backup(); //Factory method // header('Content-Description: File Transfer'); // header('Content-Type: application/octet-stream'); // header('Content-Disposition: attachment; filename=' . basename($file_name)); // header('Content-Transfer-Encoding: binary'); // header('Expires: 0'); // header('Cache-Control: must-revalidate'); // header('Pragma: public'); // header('Content-Length: ' . filesize($file_name)); // ob_clean(); // flush(); // readfile($file_name); // //After download remove the file from server // exec('rm ' . $file_name); echo json_encode(array("success" => true, "filename" => $file_name)); }
function _BackupStart() { global $PowerBB; /* $tables = $PowerBB->_POST['check']; $outta = ""; foreach($tables as $table) { $query = mysql_query("SHOW CREATE TABLE ". $table); $que = mysql_fetch_array($query); $outta .= $que['Create Table'] . "\r\n\n"; $query2 = mysql_query("SELECT * FROM `$que[Table]`"); while($result = mysql_fetch_array($query2)) { while($res = current($result)) { $fields[] .= "`".key($result)."`"; $values[] .= "'$res'"; next($result); } $fields = join(", ", $fields); $values = join(", ", $values); $q = "INSERT INTO `$que[Table]` ($fields) VALUES ($values);"; $outta .= $q . "\r\n\n"; unset($fields); unset($values); } } $outta = str_replace("CHARSET=utf8", "CHARSET=utf8 AUTO_INCREMENT=1 ; \n\n", $outta); $outta = str_replace("AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=2", $outta); $outta = str_replace("AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=19", $outta); $outta = str_replace("AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=12", $outta); $outta = str_replace("AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=6", $outta); $outta = str_replace("AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=9", $outta); $outta = str_replace("AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=36", $outta); $outta = str_replace("AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=17", $outta); $outta = str_replace("AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=3", $outta); $outta = str_replace("AUTO_INCREMENT=169 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=169", $outta); $outta = str_replace("AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=7", $outta); $outta = str_replace("AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=9", $outta); $outta = str_replace("AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=9", $outta); $outta = str_replace("AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=9", $outta); $outta = str_replace("AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1", "DEFAULT CHARSET=utf8 AUTO_INCREMENT=29", $outta); */ require "../engine/config.php"; require_once "../includes/iam_backup.php"; $filename = $PowerBB->_POST['filename']; $backup = new iam_backup($config['db']['server'], $config['db']['name'], $config['db']['username'], $config['db']['password'], true, false, false); $backup->perform_backup(); $conn = @mysql_pconnect($config['db']['server'], $config['db']['username'], $config['db']['password']); if (!@mysql_select_db($config['db']['name'])) { echo "An error has occured. Could not select the MySQL Database"; } $backup = new iam_backup($conn); $backup->perform_backup(); $backup = new iam_backup($config['db']['server'], $config['db']['name'], $config['db']['username'], $config['db']['password'], true, false, true, $filename); $backup->perform_backup(); $GetForumAdress = $PowerBB->functions->GetForumAdress(); $GetForumAdress = str_replace($PowerBB->admincpdir . "/", '', $GetForumAdress); $Adressbackup = $GetForumAdress . $filename; $PowerBB->functions->msg($PowerBB->_CONF['template']['_CONF']['lang']['msg_backup1'] . ' <br />' . $Adressbackup . '<br /><a href="index.php?page=backup&backup=1&main=1"><b>' . $PowerBB->_CONF['template']['_CONF']['lang']['Return'] . '</b></a>'); $linkfilename = '<b><a href="' . $Adressbackup . '">' . $PowerBB->_CONF['template']['_CONF']['lang']['msg_backup2'] . '</a></b>'; $PowerBB->template->display('header'); $PowerBB->functions->msg($linkfilename); }
<?php require_once 'admin.inc.php'; require_once '../include/iam_backup.php'; require_once '../include/config.inc.php'; $action = $_POST['action']; if ($action == 'backup') { $backup = new iam_backup($cfg_db_host, $cfg_db_name, $cfg_db_user, $cfg_db_pass, false, true, true); $backup->perform_backup(); exit; } ?> <?php $adminpagetitle = "数据备份"; include "admin.header.php"; ?> <div class="main_body"> <form action="dbbackup.php" method="post"> <table class="inputform" cellpadding="1" cellspacing="1"> <tr><td class="label">注意事项</td><td class="input">所有数据将以下载的形式备份,请妥善保存!<br />该备份方式只适合于小型数据备份<span style="color:#ff0000;">(50M以下)</span>,如果您的数据库较大,请使用phpmyadmin或帝国备份王备份。</td></tr> <tr><td class="label"></td><td class="input"> <input type="hidden" name="action" value="backup" /> <input type="submit" class="subtn" value="马上备份" /></td></tr> </table> </form> </div> </div> <div class="clear"> </div>