示例#1
0
function BACKUP_COMPILE()
{
    $backup = new backup_protocols();
    switch ($_SESSION["WIZARD"]["W_RESOURCE"]) {
        case "usb":
            $pattern = "usb://{$_SESSION["WIZARD"]["W_UUID"]}";
            break;
        case "smb":
            $pattern = $backup->build_smb_protocol($_SESSION["WIZARD"]["W_SMB_SERVER"], $_SESSION["WIZARD"]["W_SMB_SHAREDDIR"], $_SESSION["WIZARD"]["W_SMB_USERNAME"], $_SESSION["WIZARD"]["W_SMB_PASSWORD"]);
            break;
        case "rsync":
            $pattern = $backup->build_rsync_protocol($_SESSION["WIZARD"]["W_SMB_SERVER"], $_SESSION["WIZARD"]["W_SMB_SHAREDDIR"], $_SESSION["WIZARD"]["W_SMB_USERNAME"], $_SESSION["WIZARD"]["W_SMB_PASSWORD"]);
            break;
        case "automount":
            $pattern = "automount:{$_SESSION["WIZARD"]["W_AUTOMOUNT_DIR"]}";
        case "local":
            $pattern = "local:{$_SESSION["WIZARD"]["W_LOCALDIR"]}";
        default:
            break;
    }
    $cron = new cron_macros();
    $ressources_array[0] = "all";
    $ressources_array["OPTIONS"]["STOP_IMAP"] = 0;
    $schedule = $cron->cron_compile_eachday($_SESSION["WIZARD"]["CRON_DAYS"], $_SESSION["WIZARD"]["CRON_HOURS"], $_SESSION["WIZARD"]["CRON_MIN"]);
    $datasbackup = base64_encode(serialize($ressources_array));
    $resource_type = $_SESSION["WIZARD"]["W_RESOURCE"];
    $CRON_CONTAINER = $_SESSION["WIZARD"]["CRON_CONTAINER"];
    $md5 = md5($schedule . $pattern);
    $q = new mysql();
    $sql = "INSERT INTO  backup_schedules(`zMD5`,`resource_type`,`pattern`,`schedule`,`datasbackup`,`container`)\n\tVALUES('{$md5}','{$resource_type}','{$pattern}','{$schedule}','{$datasbackup}','{$CRON_CONTAINER}')";
    $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        echo $q->mysql_error;
        return;
    }
    $sock = new sockets();
    $sock->SET_INFO("WizardBackupSeen", 1);
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?backup-build-cron=yes");
}