diff --git a/lib/Cron/Cleanup.php b/lib/Cron/Cleanup.php index b77172260b9..e28b3ff4d8f 100644 --- a/lib/Cron/Cleanup.php +++ b/lib/Cron/Cleanup.php @@ -55,5 +55,8 @@ protected function run($argument): void { $this->logger->debug('Run cleanup job for text sessions'); $removedSessions = $this->sessionService->removeInactiveSessionsWithoutSteps(null); $this->logger->debug('Removed ' . $removedSessions . ' inactive sessions'); + + $this->logger->debug('Run cleanup job for obsolete documents folders'); + $this->documentService->cleanupOldDocumentsFolders(); } } diff --git a/lib/Service/DocumentService.php b/lib/Service/DocumentService.php index 8d3791bc839..8d3a8bccafb 100644 --- a/lib/Service/DocumentService.php +++ b/lib/Service/DocumentService.php @@ -669,4 +669,16 @@ public function clearAll(): void { } $this->ensureDocumentsFolder(); } + + public function cleanupOldDocumentsFolders(): void { + try { + $appFolder = $this->getFullAppFolder(); + foreach ($appFolder->getDirectoryListing() as $node) { + if (str_starts_with($node->getName(), 'documents_old_')) { + $node->delete(); + } + } + } catch (NotFoundException) { + } + } }