コード例 #1
0
 /** Backup runtime folder
  * @param bool $includeDatabase
  *	Backup database, too?
  *
  * @return array
  */
 public function backupRuntime($includeDatabase = false)
 {
     global $Config, $Database;
     // create paths
     $path = $Config->get('dir_runtime');
     $path_new = $Config->get('dir_data') . '/backup/runtime/' . date('Y_m_d__H_i_s');
     // move folder to backup-directory
     if (!ts_FileHandler::copyFolder($path, $path_new)) {
         return false;
     }
     // backup database
     //TODO - skip database-backup (creates too big sql-file!)
     if ($includeDatabase) {
         // get path for sql-backup
         $path_sql = $path_new . '/backup_database.sql';
         // backup database
         //    if (!self::backupDatabase($path_sql)) return false;
     }
     // get number of backups
     $path = $Config->get('dir_data') . '/backup/runtime';
     $backups = ts_FileHandler::getSubFolders($path);
     rsort($backups);
     $counter = 0;
     foreach ($backups as $index => $value) {
         $counter++;
         if ($counter >= 10) {
             // delete backup
             ts_FileHandler::deleteFolder($path . '/' . $value);
         }
     }
     return true;
 }