Пример #1
0
/***************   Act on the action request   *************************/
switch ($action) {
    case 'backup_log':
        require DIR_FS_MODULES . 'install/functions/install.php';
        if (ini_get('max_execution_time') < 20000) {
            set_time_limit(20000);
        }
        $dest_dir = DIR_FS_MY_FILES . 'backups/';
        $company_dir = DIR_FS_MY_FILES . $_SESSION['company'] . '/';
        $compressed_dbname = 'log-' . $_SESSION['company'] . '-' . date('Ymd');
        $db_filename = $compressed_dbname . '.sql';
        $db_save_full_path = $dest_dir . $db_filename;
        if (!is_dir($dest_dir)) {
            mkdir($dest_dir);
        }
        if (!($result = dump_db_table($db, TABLE_AUDIT_LOG, $db_save_full_path, 'both'))) {
            break;
        }
        // compress the company directory
        unset($output);
        $backup_mime = 'application/zip';
        if (!class_exists('ZipArchive')) {
            $messageStack->add(GEN_BACKUP_NO_ZIP_CLASS, 'error');
            $error = true;
            break;
        }
        $zip = new ZipArchive();
        $backup_filename = $compressed_dbname . '.zip';
        $res = $zip->open($dest_dir . $backup_filename, ZipArchive::CREATE);
        if ($res !== true) {
            $messageStack->add(GEN_BACKUP_FILE_ERROR . $dest_dir, 'error');
Пример #2
0
 // set execution time limit to a large number to allow extra time
 if (ini_get('max_execution_time') < 20000) {
     set_time_limit(20000);
 }
 // dump db
 $dest_dir = DIR_FS_MY_FILES . 'backups/';
 $company_dir = DIR_FS_MY_FILES . $_SESSION['company'] . '/';
 $compressed_dbname = 'db-' . $_SESSION['company'] . '-' . date('Ymd');
 $compressed_dirname = 'bu-' . $_SESSION['company'] . '-' . date('Ymd');
 $db_filename = $compressed_dbname . '.sql';
 $db_temp_full_path = $company_dir . $db_filename;
 $db_save_full_path = $dest_dir . $db_filename;
 if (!is_dir($dest_dir)) {
     mkdir($dest_dir);
 }
 if (!($result = dump_db_table($db, 'all', $db_save_full_path, 'both'))) {
     break;
 }
 // compress the company directory
 unset($output);
 switch ($conv_type) {
     case 'bz2':
         $backup_mime = 'application/x-tar';
         if ($dl_type == 'db') {
             $backup_filename = $db_filename . '.bz2';
             exec("cd {$dest_dir}; nice -n 19 bzip2 -k {$db_filename} 2>&1", $output, $res);
         } else {
             // compress all
             $backup_filename = $compressed_dirname . '.tar.bz2';
             exec("cp {$db_save_full_path} {$db_temp_full_path}", $output, $res);
             exec("cd {$dest_dir}; nice -n 19 tar -jcf {$compressed_dirname}.tar.bz2 {$company_dir} 2>&1", $output, $res);
Пример #3
0
         echo '</tr></td></table>';
     }
 } else {
     echo "<center><br>";
     if ($act == "dump") {
         if ($_POST['dump_table'] != "") {
             if (!isset($_POST['dump'])) {
                 echo "<form action=\"\" method=\"post\"><input type=\"hidden\" name=\"act_mysql\" value=\"dump\">Dump file name(leave blank for default!):<br><input type=\"hidden\" name=\"dir\" value=\"" . $dir . "\"><input type=\"hidden\" name=\"dump_table\" value=\"";
                 if ($strip_all) {
                     echo htmlspecialchars(stripslashes($_POST['dump_table']));
                 } else {
                     echo htmlspecialchars($_POST['dump_table']);
                 }
                 echo "\"><input type=\"hidden\" name=\"action\" value=\"connect\"><input type=\"text\" name=\"dump_file\"><br><br><input type=\"submit\" value=\"Dump\" name=\"dump\"></form>";
             } else {
                 dump_db_table($_COOKIE['host'], $_COOKIE['username'], $_COOKIE['password'], $_COOKIE['db'], $_POST['dump_table'], $_POST['dump_file'] . ".sql");
             }
         } else {
             if (!isset($_POST['dump'])) {
                 echo "<form action=\"\" method=\"post\"><input type=\"hidden\" name=\"act_mysql\" value=\"dump\">Dump file name(leave blank for default!):<br><input type=\"hidden\" name=\"dir\" value=\"" . $dir . "\"><input type=\"text\" name=\"dump_file\"><input type=\"hidden\" name=\"action\" value=\"connect\"><br><br><input type=\"submit\" value=\"Dump\" name=\"dump\"></form>";
             } else {
                 dump_db($_COOKIE['host'], $_COOKIE['username'], $_COOKIE['password'], $_COOKIE['db'], $_POST['dump_file'] . ".sql");
             }
         }
     } else {
         if (!isset($_POST['doquery'])) {
             echo "<form action=\"\" method=\"POST\"><input type=\"hidden\" name=\"dir\" value=\"" . $dir . "\"><input type=\"hidden\" name=\"action\" value=\"connect\"><input type=\"hidden\" name=\"act_mysql\" value=\"makequery\">SQL code:<br><br><textarea rows=\"10\" cols=\"77\" name=\"eval\"></textarea><br><br><input type=\"submit\" value=\"Execute query\" name=\"doquery\"></form>";
         } else {
             if (mysql_connect($_COOKIE['host'], $_COOKIE['username'], $_COOKIE['password'])) {
                 if (mysql_select_db($_COOKIE['db'])) {
                     if ($strip_all) {
Пример #4
0
function copy_db_table($source_db, $table_list, $temp_file, $copy_type = 'data', $params = '')
{
    if (is_array($table_list)) {
        foreach ($table_list as $table) {
            if (!dump_db_table($source_db, $table, $temp_file, $copy_type, $params)) {
                return false;
            }
            if (!load_db_table($temp_file)) {
                return false;
            }
        }
    }
    return true;
}