Ejemplo n.º 1
0
function run_workspace_backup($args, $opts) {

    $workspaces = array();

    if (sizeof($args) > 2) {

        $filename = array_pop($args);

        foreach ($args as $arg) {

            $workspaces[] = new workspaceTools($arg);

        }

    } else if (sizeof($args) > 0) {

        $workspace = new workspaceTools($args[0]);

        $workspaces[] = $workspace;

        if (sizeof($args) == 2) {

            $filename = $args[1];

        } else {

            $filename = "{$workspace->name}.tar";

        }

    } else {

        throw new Exception("No workspace specified for backup");

    }





    foreach ($workspaces as $workspace) {

        if (!$workspace->workspaceExists()) {

            throw new Exception("Workspace '{$workspace->name}' not found");

        }

    }



    //If this is a relative path, put the file in the backups directory

    if (strpos($filename, "/") === false && strpos($filename, '\\') === false){

        $filename = PATH_DATA . "backups/$filename";

    }

    CLI::logging("Backing up to $filename\n");



    $filesize = array_key_exists("filesize", $opts) ? $opts['filesize'] : -1;



    if ($filesize >= 0) {

        if (!Bootstrap::isLinuxOs()) {

            CLI::error("This is not a Linux enviroment, cannot use this filesize [-s] feature.\n");

            return;

        }

        $multipleBackup = new multipleFilesBackup ($filename,$filesize);//if filesize is 0 the default size will be took

        //using new method

        foreach ($workspaces as $workspace) {

            $multipleBackup->addToBackup($workspace);

        }

        $multipleBackup->letsBackup();

    } else {

        //ansient method to backup into one large file

        $backup = workspaceTools::createBackup($filename);



        foreach ($workspaces as $workspace) {

            $workspace->backup($backup);

        }

    }

    CLI::logging("\n");

    workspaceTools::printSysInfo();

    foreach ($workspaces as $workspace) {

        CLI::logging("\n");

        $workspace->printMetadata(false);

    }

}
Ejemplo n.º 2
0
function run_workspace_backup($args, $opts)
{
    $workspaces = array();
    if (sizeof($args) > 2) {
        $filename = array_pop($args);
        foreach ($args as $arg) {
            $workspaces[] = new workspaceTools($arg);
        }
    } else {
        if (sizeof($args) > 0) {
            $workspace = new workspaceTools($args[0]);
            $workspaces[] = $workspace;
            if (sizeof($args) == 2) {
                $filename = $args[1];
            } else {
                $filename = "{$workspace->name}.tar";
            }
        } else {
            throw new Exception("No workspace specified for backup");
        }
    }
    foreach ($workspaces as $workspace) {
        if (!$workspace->workspaceExists()) {
            throw new Exception("Workspace '{$workspace->name}' not found");
        }
    }
    //If this is a relative path, put the file in the backups directory
    if (strpos($filename, "/") === false && strpos($filename, '\\') === false) {
        $filename = PATH_DATA . "backups/{$filename}";
    }
    CLI::logging("Backing up to {$filename}\n");
    $backup = workspaceTools::createBackup($filename);
    foreach ($workspaces as $workspace) {
        $workspace->backup($backup);
    }
    CLI::logging("\n");
    workspaceTools::printSysInfo();
    foreach ($workspaces as $workspace) {
        CLI::logging("\n");
        $workspace->printMetadata(false);
    }
}