/** * Überprüft, ob es Zeit für ein autom. Backup ist und führt dieses gegebenenfalls aus * * @since 0.0.1 * @version 0.0.1 * @access private * @return bool * @author Alexander Mieland * @copyright 2000-2004 by APP - Another PHP Program */ function _APCMS_CheckAutoBackup() { global $db, $akt_time; $TEMPDIR = $_SESSION['APCMS']['TMP_DIR']; $ARCHIVDIR = "./backups"; if ($_SESSION['APCMS']['CONFIG']['auto_backup'] == 1) { $old = @ignore_user_abort(1); $now = $akt_time; if ($_SESSION['APCMS']['CONFIG']['last_backup'] + $_SESSION['APCMS']['CONFIG']['time_backup'] <= $now) { if ($_SESSION['APCMS']['CONFIG']['data_backup'] != "") { $DATA_BACKUP = explode("|^|", $_SESSION['APCMS']['CONFIG']['data_backup']); $complete = $DATA_BACKUP[0]; $tables = unserialize(stripslashes($DATA_BACKUP[1])); $data = $DATA_BACKUP[2]; $drop = $DATA_BACKUP[3]; $pack = $DATA_BACKUP[4]; if (isset($complete) && $complete == 1) { _APCMS_MakeSQLBackup(1, NULL, $data, $drop); } else { _APCMS_MakeSQLBackup(0, $tables, $data, $drop); } if ($pack == 1) { $archiv = $ARCHIVDIR . "/" . date("Y-m-d-H-i", time()) . "_" . $_SESSION['MYSQLDATA']['DB'] . ".tar.gz"; chdir($TEMPDIR); if (file_exists($archiv)) { unlink($archiv); } require_once "Archive/Tar." . $_SESSION['APCMS']['SUFFIX']; $tar_object = new Archive_Tar($archiv, "gz"); $tar_object->setErrorHandling(PEAR_ERROR_RETURN); $filelist[0] = "./last_backup"; $tar_object->create($filelist); chmod($archiv, 0666); chdir("../"); } else { $archiv = $ARCHIVDIR . "/" . date("Y-m-d-H-i", time()) . "_" . $_SESSION['MYSQLDATA']['DB'] . ".tar"; chdir($TEMPDIR); if (file_exists($archiv)) { unlink($archiv); } require_once "Archive/Tar." . $_SESSION['APCMS']['SUFFIX']; $tar_object = new Archive_Tar($archiv, FALSE); $tar_object->setErrorHandling(PEAR_ERROR_RETURN); $filelist[0] = "./last_backup"; $tar_object->create($filelist); chmod($archiv, 0666); chdir("../"); } $fe = opendir($TEMPDIR . "/last_backup"); while ($file = readdir($fe)) { if ($file != "." && $file != ".." && $file != "index." . $_SESSION['APCMS']['SUFFIX'] && $file != "cvs" && $file != "CVS") { unlink($TEMPDIR . "/last_backup/" . $file); } } closedir($fe); $UPDATECONF = "UPDATE `apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_config` SET "; $UPDATECONF .= "\t\t`last_backup`='" . $now . "' "; $_SESSION['APCMS']['CONFIG']['last_backup'] = $now; $db->unbuffered_query($UPDATECONF); } else { return false; } } } return true; }
$UPDATECONF .= "\t\t`auto_backdel`='0', "; $UPDATECONF .= "\t\t`time_backdel`='0', "; $UPDATECONF .= "\t\t`last_backdel`='0' "; $_SESSION['APCMS']['CONFIG']['auto_backdel'] = 0; $_SESSION['APCMS']['CONFIG']['time_backdel'] = 0; $_SESSION['APCMS']['CONFIG']['last_backdel'] = 0; $STATUSMSG .= '<b>Lösch-Automatik gestoppt!</b><br />'; } if (isset($UPDATECONF)) { $db->unbuffered_query($UPDATECONF); } if (isset($_POST['backup']) && $_POST['backup'] == 1) { if (isset($_POST['complete']) && $_POST['complete'] == 1) { _APCMS_MakeSQLBackup(1, NULL, $_POST['data'], $_POST['drop']); } else { _APCMS_MakeSQLBackup(0, $_POST['tables'], $_POST['data'], $_POST['drop']); } if ($_POST['pack'] == 1) { $archiv = $ARCHIVDIR . "/" . date("Y-m-d-H-i", time()) . "_" . $_SESSION['MYSQLDATA']['DB'] . ".tar.gz"; chdir($TEMPDIR); if (file_exists($archiv)) { unlink($archiv); } require_once "Archive/Tar." . $_SESSION['APCMS']['SUFFIX']; $tar_object = new Archive_Tar($archiv, "gz"); $tar_object->setErrorHandling(PEAR_ERROR_RETURN); $filelist[0] = "./last_backup"; $tar_object->create($filelist); chmod($archiv, 0666); chdir("../"); } else {