require_once "{$CFG->libdir}/blocklib.php"; require_login(); require_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM)); //Check site if (!($site = get_site())) { error("Site not found!"); } //Check necessary functions exists. Thanks to gregb@crowncollege.edu backup_required_functions(); //Adjust some php variables to the execution of this script @ini_set("max_execution_time", "3000"); if (empty($CFG->extramemorylimit)) { raise_memory_limit('128M'); } else { raise_memory_limit($CFG->extramemorylimit); } echo "<pre>\n"; $status = true; $courses = get_records("course"); foreach ($courses as $course) { echo "Start course " . format_string($course->fullname); $preferences = schedule_backup_course_configure($course); if ($preferences && $status) { $status = schedule_backup_course_execute($preferences); } if ($status && $preferences) { echo "End course " . format_string($course->fullname) . " OK\n\n"; } else { echo "End course " . format_string($course->fullname) . " FAIL\n\n"; } }
function schedule_backup_launch_backup($course, $starttime = 0) { $preferences = false; $status = false; mtrace(" Executing backup"); schedule_backup_log($starttime, $course->id, "Start backup course {$course->fullname}"); schedule_backup_log($starttime, $course->id, " Phase 1: Checking and counting:"); $preferences = schedule_backup_course_configure($course, $starttime); if ($preferences) { schedule_backup_log($starttime, $course->id, " Phase 2: Executing and copying:"); $status = schedule_backup_course_execute($preferences, $starttime); } if ($status && $preferences) { //Only if the backup_sche_keep is set if ($preferences->backup_keep) { schedule_backup_log($starttime, $course->id, " Phase 3: Deleting old backup files:"); $status = schedule_backup_course_delete_old_files($preferences, $starttime); } } if ($status && $preferences) { mtrace(" End backup OK"); schedule_backup_log($starttime, $course->id, "End backup course {$course->fullname} - OK"); } else { mtrace(" End backup with ERROR"); schedule_backup_log($starttime, $course->id, "End backup course {$course->fullname} - ERROR!!"); } return $status && $preferences; }
function schedule_backup_launch_backup($course, $starttime = 0) { global $CFG; $preferences = false; $status = false; mtrace(" Executing backup"); backup_add_to_log($starttime, $course->id, "Start backup course {$course->fullname}", 'scheduledbackup'); backup_add_to_log($starttime, $course->id, " Phase 1: Checking and counting:"); $preferences = schedule_backup_course_configure($course, $starttime); if ($preferences) { backup_add_to_log($starttime, $course->id, " Phase 2: Executing and copying:", 'scheduledbackup'); $status = schedule_backup_course_execute($preferences, $starttime); } if ($status && $preferences) { //Only if the backup_sche_keep is set if ($preferences->backup_keep) { backup_add_to_log($starttime, $course->id, " Phase 3: Deleting old backup files:", 'scheduledbackup'); $status = schedule_backup_course_delete_old_files($preferences, $starttime); } } if ($status && $preferences) { if ($preferences->backup_sche_incrementals) { mtrace(" Generating Incrementals"); //generate incrementals for this course. require_once "{$CFG->libdir}/xdelta.class.php"; require_once "incremental_backuplib.php"; backup_add_to_log($starttime, $course->id, " Phase 4: Generating Incrementals:", 'scheduledbackup'); $status = generate_incrementals($preferences->backup_course); } } if ($status && $preferences) { mtrace(" End backup OK"); backup_add_to_log($starttime, $course->id, "End backup course {$course->fullname} - OK", 'scheduledbackup'); } else { mtrace(" End backup with ERROR"); backup_add_to_log($starttime, $course->id, "End backup course {$course->fullname} - ERROR!!", 'scheduledbackup'); } return $status && $preferences; }