Startseite
» Gewusst wie
»
Legen Sie eine zuverlässige Ablaufrichtlinie für gelöschte Nextcloud-Dateien fest.
Legen Sie eine zuverlässige Ablaufrichtlinie für gelöschte Nextcloud-Dateien fest.
Um den Ordner „Gelöschte Dateien“ in Nextcloud automatisch zu leeren, legen Sie eine maximale Aufbewahrungsdauer fest und stellen Sie sicher, dass Nextcloud-Hintergrundprozesse regelmäßig ausgeführt werden. Beispielsweise können Sie festlegen, trashbin_retention_obligationdass auto, 30Elemente, die älter als 30 Tage sind, automatisch gelöscht werden, und anschließend den empfohlenen System-Cronjob von Nextcloud alle fünf Minuten ausführen. Die Standardrichtlinie autoallein garantiert keine Löschung genau nach 30 Tagen.
Automatisches Löschen ist endgültig. Wählen Sie eine Aufbewahrungsfrist, die Benutzern Zeit gibt, Fehler zu beheben, und erstellen Sie Sicherungskopien von allen Dateien, die auch nach dem Verlassen des Papierkorbs wiederherstellbar bleiben müssen.
Was bereinigt Nextcloud standardmäßig?
Die Administratordokumentation von Nextcloud 35 beschreibt auto, dass gelöschte Elemente mindestens 30 Tage lang aufbewahrt werden und erst dann entfernt werden können, wenn Speicherplatz benötigt wird. Wird kein Speicherplatz benötigt, können Elemente auch länger als 30 Tage gespeichert bleiben. Dadurch dient der Papierkorb als Wiederherstellungsbereich und nicht als strikter 30-Tage-Löschvorgang.
Richtlinienwert
Was es bedeutet
Verwenden Sie es, wenn
auto
Bewahren Sie die Gegenstände mindestens 30 Tage auf; entfernen Sie sie später, wenn Platz benötigt wird.
Sie möchten das standardmäßige Wiederherstellungsfenster und die speicherplatzbasierte Bereinigung.
auto, 30
Elemente, die älter als 30 Tage sind, werden automatisch gelöscht; Elemente können auch früher entfernt werden, wenn Speicherplatz benötigt wird.
Sie möchten ein Höchstalter von 30 Tagen.
30, 90
Bewahren Sie die Artikel mindestens 30 Tage lang auf und löschen Sie sie nach 90 Tagen.
Sie benötigen ein Wiederherstellungsfenster sowie eine obere Aufbewahrungsgrenze.
disabled
Den Mülleimer nicht automatisch reinigen.
Sie haben einen separaten Aufbewahrungsprozess und beabsichtigen, gelöschte Elemente zu behalten.
Die Aufbewahrungsfrist ist nicht absolut, wenn das Kontingent eines Benutzers aufgrund von gelöschten Elementen überschritten wird: Nextcloud kann die konfigurierte Richtlinie überschreiben und Elemente löschen, bis das Kontingent wieder erreicht ist. Lesen Sie die aktuelle Dokumentation zur Aufbewahrung im Papierkorb, bevor Sie eine Richtlinie auf Konten mit Kontingentbeschränkungen anwenden.
Legen Sie ein maximales Alter für gelöschte Dateien fest.
Führen Sie occden Befehl im Nextcloud-Installationsverzeichnis und als HTTP-Benutzer aus, um konsistente Dateiberechtigungen zu gewährleisten. Unter Debian oder Ubuntu ist dieser Benutzer üblicherweise `nextcloud` www-data, und der Installationspfad lautet oft `/ /var/www/nextcloudusr/local/nextcloud/`. Ersetzen Sie `nextcloud` und `nextcloud/` auf anderen Systemen oder in Containern durch Ihren tatsächlichen Benutzer und Pfad.
Die Ausgabe sollte angezeigt werden auto, 30. Falls Sie eine andere Richtlinie bevorzugen, verwenden Sie die obige Tabelle und geben Sie den entsprechenden Wert ein. Diese 30, 90Option sieht vor, Elemente mindestens 30 Tage lang aufzubewahren und nach 90 Tagen zu löschen; die Einhaltung von Quoten kann jedoch eine frühere Löschung erzwingen.
Stellen Sie sicher, dass Hintergrundprozesse zuverlässig ausgeführt werden.
Nextcloud führt die Papierkorb-Ablaufplanung als Hintergrundprozess durch. Laut Administratorhandbuch wird dieser Hintergrundprozess alle 30 Minuten ausgeführt, dies hängt jedoch davon ab, ob der Hintergrundprozess-Runner Ihrer Installation aufgerufen wird. Nextcloud empfiehlt die Verwendung des Betriebssystem-Cronjobs für regelmäßige Aufgaben; der standardmäßige AJAX-Modus ist weniger zuverlässig, da die Prozesse nur ausgeführt werden, wenn Benutzer die Website besuchen.
Nextcloud in den Cron-Modus versetzen:
sudo -E -u www-data php occ background:cron
Stellen Sie Nextcloud auf Cron-Modus um, damit geplante Hintergrundprozesse nicht davon abhängen, ob Benutzer die Website öffnen.
Bearbeiten Sie anschließend die Crontab des Webserver-Benutzers. Auf einem typischen Debian- oder Ubuntu-Host:
sudo crontab -u www-data -e
Fügen Sie diese Zeile hinzu und ändern Sie den Pfad zur PHP-Programmdatei oder zu Nextcloud, falls Ihre Installation andere Speicherorte verwendet:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Führen Sie cron.php unter dem HTTP-Benutzer aus. Ersetzen Sie den Beispielpfad zu Nextcloud durch Ihren Installationspfad.
Dieser Zeitplan startet den Hintergrundprozess von Nextcloud alle fünf Minuten; einzelne Jobs haben ihre eigenen Zeitpläne. Verwenden Sie für eine Containerbereitstellung den dokumentierten Cron-Dienst oder den geplanten Worker für diese Bereitstellung und führen Sie ihn cron.phpals Nextcloud-Webbenutzer aus. Fügen Sie nicht einfach einen zweiten Job hinzu, wenn Ihr Image oder Ihre Plattform diesen bereits ausführt.
Wie kann man das Verfallsdatum sicher testen?
Überprüfen Sie zunächst sowohl die Richtlinie als auch den geplanten Auftrag. Prüfen Sie die Richtlinie mit [Befehl einfügen] occ config:system:get trashbin_retention_obligationund listen Sie anschließend die geplanten Aufgaben auf:
sudo crontab -u www-data -l
Überprüfen Sie den gespeicherten Aufbewahrungswert und vergewissern Sie sich, dass der Webserver-Benutzer den wiederkehrenden cron.php-Eintrag hat.
Überprüfen Sie in den Nextcloud-Administrationseinstellungen, ob Hintergrundprozesse per Cron ausgeführt werden und der Zeitpunkt der letzten Ausführung aktualisiert wird. Nachdem die konfigurierte maximale Aufbewahrungsdauer abgelaufen ist, prüfen Sie die gelöschten Dateien auf ein altes Testelement, das bedenkenlos gelöscht werden kann. Der Ablaufprozess wird planmäßig ausgeführt, daher erfolgt die Bereinigung nicht unbedingt sofort zum genauen Zeitpunkt der Aufbewahrungsfrist.
Führen Sie für einen einmaligen Test mit einer benutzerdefinierten Aufbewahrungsrichtlinie den Befehl „retention-aware“ aus:
In der aktuellen Nextcloud-Version trashbin:expirewird die konfigurierte Aufbewahrungsfrist angewendet. Bei der autoStandardrichtlinie beendet der Befehl den Vorgang, ohne Elemente zu löschen; die automatische Löschung wird standardmäßig durch einen Hintergrundprozess übernommen. Verwenden Sie nicht den Befehl `new` trashbin:cleanup --all-users: Dieser Befehl löscht alle Papierkörbe für jeden Benutzer dauerhaft, unabhängig vom Alter, und ist keine Einstellung für die routinemäßige Aufbewahrung.
Checkliste zur Schnellprüfung
Die zurückgegebene aktive Richtlinie occ config:system:get trashbin_retention_obligationentspricht Ihrem gewünschten Aufbewahrungszeitraum.
Die Nextcloud-Hintergrundjobs sind auf Cron eingestellt, und die Crontab des Webserver-Benutzers enthält den korrekten cron.phpPfad.
Die letzte Ausführungszeit des Auftrags wird in den Verwaltungseinstellungen vorverlegt.
Ein altes Testobjekt, das die maximale Lebensdauer überschritten hat, verschwindet nach dem Ausführen des Hintergrundprozesses, während neuere Objekte erhalten bleiben, es sei denn, Speicher- oder Quotenengpässe erfordern eine Bereinigung.
Wenn sich die letzte Ausführungszeit nicht ändert, überprüfen Sie den System-Cronjob, den PHP-CLI-Pfad, den Webserver-Benutzer und den Nextcloud-Pfad, bevor Sie den Aufbewahrungswert ändern. Selbst eine korrekte Richtlinie kann nichts löschen, wenn der Hintergrundprozess nie ausgeführt wird.