public function initAction()
 {
     $backup = new Pimcore_Backup(PIMCORE_BACKUP_DIRECTORY . "/backup_" . date("m-d-Y_H-i") . ".tar");
     $initInfo = $backup->init();
     $this->session->backup = $backup;
     $this->_helper->json($initInfo);
 }
Example #2
0
<?php

include_once "../../pimcore/cli/startup.php";
$backup = new Pimcore_Backup($backupFile);
$initInfo = $backup->init();
$stepMethodMapping = ["mysql-tables" => "mysqlTables", "mysql" => "mysqlData"];
if (empty($initInfo["errors"])) {
    foreach ($initInfo["steps"] as $step) {
        if (!is_array($step[1])) {
            $step[1] = array();
        }
        if (array_key_exists($step[0], $stepMethodMapping)) {
            // skip these tables
            if (in_array($step[1]["name"], ["tracking_events", "cache", "cache_tags", "http_error_log", "versions", "edit_lock", "content_analysis", "content_index", "locks", "email_log"])) {
                continue;
            }
            verboseMessage("execute: " . $step[0] . " | with the following parameters: " . implode(",", $step[1]));
            $return = call_user_func_array([$backup, $stepMethodMapping[$step[0]]], $step[1]);
            if ($return["filesize"]) {
                verboseMessage("current filesize of the backup is: " . $return["filesize"]);
            }
        }
    }
}
// do some modifications
$dumpFile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/backup-dump.sql";
$dumpData = file_get_contents($dumpFile);
// remove user specific data
$dumpData = preg_replace("/DEFINER(.*)DEFINER/i", "", $dumpData);
$finalDest = PIMCORE_WEBSITE_PATH . "/dump/data.sql";
file_put_contents($finalDest, $dumpData);