MDL-21432 backup - clean temps after execution
[moodle.git] / backup / moodle2 / backup_stepslib.php
index bc34174..fe80f3f 100644 (file)
 /**
  * Define all the backup steps that will be used by common tasks in backup
  */
+
+/**
+ * create the temp dir where backup/restore will happen,
+ * delete old directories and create temp ids table
+ */
 class create_and_clean_temp_stuff extends backup_execution_step {
 
     protected function define_execution() {
@@ -35,6 +40,25 @@ class create_and_clean_temp_stuff extends backup_execution_step {
     }
 }
 
+/**
+ * delete the temp dir used by backup/restore (conditionally),
+ * delete old directories and drop tem ids table. Note we delete
+ * the directory but not the correspondig log file that will be
+ * there for, at least, 4 hours - only delete_old_backup_dirs()
+ * deletes log files (for easier access to them)
+ */
+class drop_and_clean_temp_stuff extends backup_execution_step {
+
+    protected function define_execution() {
+        global $CFG;
+        backup_controller_dbops::drop_backup_ids_temp_table($this->get_backupid()); // Drop ids temp table
+        backup_helper::delete_old_backup_dirs(time() - (4 * 60 * 60));              // Delete > 4 hours temp dirs
+        if (empty($CFG->keeptempdirectoriesonbackup)) { // Conditionally
+            backup_helper::delete_backup_dir($this->get_backupid()); // Empty backup dir
+        }
+    }
+}
+
 /**
  * Create the directory where all the task (activity/block...) information will be stored
  */