Esempio n. 1
0
    @set_time_limit(TIME_LIMIT);
}
$timer = array_sum(explode(' ', microtime()));
ob_implicit_flush();
$auth = 0;
$error = '';
if (@mysql_connect(DBHOST, DBNUSER, DBPASS)) {
    $auth = 1;
} else {
    $error = '#' . mysql_errno() . ': ' . mysql_error();
}
if (!file_exists(PATH)) {
    @mkdir(PATH, 0777) || die("Не удалось создать каталог для бекапа");
    @chmod(PATH, 0777);
}
$SK = new dumper();
define('C_DEFAULT', 1);
define('C_RESULT', 2);
define('C_ERROR', 3);
define('C_WARNING', 4);
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
switch ($action) {
    case 'backup':
        $SK->backup();
        break;
    case 'restore':
        $SK->restore();
        break;
    default:
        $SK->main();
}
Esempio n. 2
0
     Common::check_priv("{$priv}");
     require_once BASE_PATH . '/lib/class.db_backup.php';
     $dumper = new dumper();
     $dumper->backup($_POST['filter'], $_POST['pack'], $_POST['pack_rate']);
     $smarty->assign("file_name", $dumper->filename);
     $smarty->assign("tables_list", $dumper->tables_list);
     $smarty->assign("table_size", $dumper->table_size);
     $smarty->assign("file_size", $dumper->file_size);
     $smarty->assign("tables_count", $dumper->tables_count);
     $smarty->assign("rows_count", $dumper->rows_count);
     $smarty->assign("action", "backup");
 }
 if (isset($_POST['submit_restore'])) {
     Common::check_priv("0");
     require_once BASE_PATH . '/lib/class.db_backup.php';
     $dumper = new dumper();
     if (isset($_POST['file']) && $_POST['file'] != '') {
         $dumper->restore($_POST['file']);
     }
     $smarty->assign("file_date", $dumper->file_date);
     $smarty->assign("q_number", $dumper->q_number);
     $smarty->assign("t_number", $dumper->t_number);
     $smarty->assign("r_number", $dumper->r_number);
     $smarty->assign("action", "restore");
 }
 if ($_SESSION['fw_user']['priv'] == '0') {
     foreach (glob(BASE_PATH . "/backup/" . DB_NAME . "_*.*") as $filename) {
         $filename = explode("/", $filename);
         $files_list[] = $filename[count($filename) - 1];
     }
     if (isset($files_list)) {
Esempio n. 3
0
// Можно также указывать сравнение нужное к примеру 'cp1251_general_ci' или 'forced->cp1251_general_ci'
define('RESTORE_CHARSET', 'cp1251');
// Типы таблиц у которых сохраняется только структура, разделенные запятой
define('ONLY_CREATE', 'MRG_MyISAM,MERGE,HEAP,MEMORY');
// Дальше ничего редактировать не нужно
tep_set_time_limit(0);
if (function_exists("ob_implicit_flush")) {
    ob_implicit_flush();
}
if (!function_exists('tep_db_fetch_row')) {
    function tep_db_fetch_row($db_query)
    {
        return mysql_fetch_row($db_query);
    }
}
$dump = new dumper();
class dumper
{
    function dumper()
    {
        $this->SET['comp_method'] = '';
        $this->SET['comp_level'] = 5;
        $this->backup_file = $this->restore_file = '';
        $this->comp_methods = array();
        // Версия MySQL вида 40101
        preg_match("/^(\\d+)\\.(\\d+)\\.(\\d+)/", mysql_get_server_info(), $m);
        $this->mysql_version = sprintf("%d%02d%02d", $m[1], $m[2], $m[3]);
        $this->only_create = explode(',', ONLY_CREATE);
        $this->forced_charset = false;
        $this->restore_charset = $this->restore_collate = '';
        if (preg_match("/^(forced->)?(([a-z0-9]+)(\\_\\w+)?)\$/", RESTORE_CHARSET, $matches)) {
Esempio n. 4
0
File: check.php Progetto: gblok/rsc
    // Автоудаление дампов БД. "0" - выкл, "1" - вкл.
    $result = db_query("select last_update from " . DUMP_TABLE . " where type=1");
    $results = db_fetch_row($result);
    $last_update = $results["last_update"];
    if (time() - $last_update > $interval_update * 3600) {
        $querys = "update " . DUMP_TABLE . " set last_update = '" . time() . "' where type=1";
        $results = db_query($querys);
        $path = "core/backup";
        if (!is_dir($path)) {
            return false;
        }
        $handle = opendir($path);
        $patterns[0] = "/-/";
        $replacements[0] = ":";
        while (false !== ($file = readdir($handle))) {
            if (preg_match("/dump_20(.*?)\\.sql\\.gz/", $file, $matches)) {
                preg_match("/(.*?)_(.*)/", $matches[1], $matches);
                $filedate = $matches[1];
                $filetime = preg_replace($patterns, $replacements, $matches[2]);
                $filetimestamp = strtotime($filedate . " " . $filetime);
                if (time() - $delete_interval * 3600 >= $filetimestamp && $deletedump > 0) {
                    unlink($path . "/" . $file);
                }
            }
        }
        closedir($handle);
        include_once 'core/classes/class.dump.php';
        $SK = new dumper();
        $SK->backup();
    }
}