Startseite
» Gewusst wie
»
Mit dem Befehl occ lassen sich ownCloud-Dateiversionen sicher löschen.
Mit dem Befehl occ lassen sich ownCloud-Dateiversionen sicher löschen.
Für ownCloud Server Classic lautet der Administratorbefehl zum Entfernen gespeicherter Dateiversionen occ versions:cleanup: [Befehl einfügen]. Fügen Sie eine oder mehrere Benutzer-IDs hinzu, um die Löschung einzugrenzen. Lassen Sie Benutzer-IDs nur dann weg, wenn Sie den Versionsverlauf für alle Benutzer löschen möchten. Dieser Vorgang ist unwiderruflich. Sichern Sie daher vorher unbedingt die ownCloud-Datenbank und den Dateispeicher.
Hypothetisches Beispiel: Alex administriert einen Classic ownCloud-Server und muss alte Versionen eines stillgelegten Testkontos entfernen demo_user. Dieses fiktive Beispiel zeigt den entsprechenden Befehl und stellt ihn einer serverweiten Bereinigung gegenüber; es beschreibt weder einen realen Vorgang noch dessen Ergebnis.
1. Bestätigen Sie die ownCloud-Edition und das Ziel.
Die folgenden Schritte verwenden occdie für ownCloud Server 10.16 dokumentierte Befehlszeilenschnittstelle. Sie gelten nicht für ownCloud Infinite Scale (oCIS), da dieses einen anderen Befehlssatz verwendet. Wenn Sie sich nicht sicher sind, welches Produkt installiert ist, wenden Sie sich bitte vor der Durchführung einer vollständigen Bereinigung an Ihren Administrator.
Bei einer regulären Linux-Installation wechseln Sie in das ownCloud-Installationsverzeichnis. Der folgende Pfad ist ein Beispiel für Ubuntu; verwenden Sie Ihren tatsächlichen Pfad:
cd /var/www/owncloud
Prüfen Sie, ob die Versions-App aktiviert ist, und verifizieren Sie die Konto-ID, die Sie ansprechen möchten:
Prüfen Sie, ob die files_versionsApp aktiviert ist, bevor Sie ihren Bereinigungsbefehl verwenden.
Laut ownCloud-Referenz sind Versionsbefehle nur verfügbar, wenn files_versionsdie Option aktiviert ist, und nicht im Einzelbenutzer-Wartungsmodus. Führen Sie die Befehle occals HTTP-Benutzer des Webservers aus, um konsistente Dateiberechtigungen zu gewährleisten. Unter Debian oder Ubuntu ist dies üblicherweise das Benutzerkonto www-data; andere Distributionen verwenden möglicherweise ein anderes Konto. Weitere Informationen finden Sie in der ownCloud-Befehlsreferenz zu `occ` .
2. Gehen Sie zurück und wählen Sie den Bereich aus.
Bevor Sie den Verlauf löschen, erstellen Sie eine Sicherung mit Ihrer gewohnten ownCloud-Sicherung. Sichern Sie dabei die Datenbank und den Speicherort, an dem die Dateien und Versionen der Benutzer gespeichert sind. Vergewissern Sie sich, dass die Sicherung vollständig war und wiederhergestellt werden kann; eine reine Datenbankkopie enthält möglicherweise nicht die eigentlichen Versionsdateien.
Im hypothetischen Fall von Alex ist der vorgesehene Anwendungsbereich ausschließlich [fehlende Angabe] demo_user. Die Benutzer-ID muss mit dem Konto auf diesem Server übereinstimmen. Verwenden Sie keine E-Mail-Adresse, keinen Anzeigenamen und keinen anderen Benutzer, da der Befehl Benutzer-IDs akzeptiert. Überprüfen Sie die Konto-ID in der ownCloud-Benutzerverwaltung, bevor Sie den Befehl ausführen, insbesondere wenn die Namen in einem Verzeichnisdienst von der Anmelde-ID abweichen.
Wenn Sie alle alten Versionen für dieses Konto entfernen möchten, verwenden Sie den entsprechenden Befehl versions:cleanup. Für diesen Befehl ist keine Testlaufoption dokumentiert. Überprüfen Sie daher das Ziel und erstellen Sie ein Backup, bevor Sie ihn ausführen. Versetzen Sie den Server für diesen Vorgang nicht in den Einzelbenutzer-Wartungsmodus: ownCloud dokumentiert, dass die Versionsbefehle in diesem Modus nicht verfügbar sind.
3. Führen Sie eine gezielte Bereinigung durch oder wählen Sie bewusst alle Benutzer aus.
Bei einer regulären Linux-Installation führen Sie den Befehl im ownCloud-Verzeichnis als HTTP-Benutzer aus. Unter Debian oder Ubuntu würde Alex Folgendes ausführen:
sudo -u www-data ./occ versions:cleanup demo_user
Durch das Hinzufügen von demo_userBeschränkungen wird die Bereinigung auf dieses ownCloud-Konto beschränkt.
Die dokumentierte Syntax versions:cleanup [user_id]...akzeptiert eine oder mehrere Konto-IDs. Wird keine ID angegeben, werden versionierte Dateien für alle Benutzer gelöscht. Verwenden Sie die globale Form nur, nachdem Sie diesen Bereich explizit genehmigt haben.
sudo -u www-data ./occ versions:cleanup
Wenn die Benutzer-ID weggelassen wird, werden alle Benutzer ausgewählt. Stellen Sie daher sicher, dass der gesamte Server ausgewählt ist, bevor Sie fortfahren.
Das ownCloud-Beispiel zeigt, wie der Befehl alle Benutzer zur Löschung identifiziert, wenn keine ID angegeben wird. Durch die Angabe von IDs wird der Vorgang auf die entsprechenden Konten beschränkt. Im Handbuch wird außerdem darauf hingewiesen, dass veröffentlichte, persistente Hauptversionen mit diesem Befehl von einem Administrator entfernt werden können, obwohl sie gemäß den üblichen Aufbewahrungsrichtlinien nicht ablaufen. Klären Sie mit den Inhaltsinhabern ab, bevor Sie Konten löschen, die möglicherweise genehmigte oder veröffentlichte Revisionen enthalten. Fügen Sie keine --no-interactionParameter zum Überspringen von Abfragen hinzu. Für eine Containerinstallation lautet das dokumentierte Muster: ` <Containername> docker exec --user www-data <owncloud-container-name> occ <your-command>`; ersetzen Sie den Platzhalter durch den tatsächlichen Containernamen und den von Ihnen ausgewählten Befehl. Konsultieren Sie die Docker- und occ-Anweisungen, wenn Ihre Bereitstellung einen anderen Containerbenutzer verwendet.
4. Verwenden Sie das Ablaufdatum nur dann, wenn Aufbewahrungsregeln das Ziel sind.
Wenn Alex von ownCloud nur Versionen entfernen lassen wollte, die gemäß der konfigurierten Aufbewahrungsrichtlinie abgelaufen sind, wäre der geeignetere Befehl:
sudo -u www-data ./occ versions:expire demo_user
versions:expireEs wendet die konfigurierten Aufbewahrungsregeln an; es wird jedoch nicht garantiert, dass jede gespeicherte Version entfernt wird.
Die ownCloud-Referenz definiert versions:expiredas Löschen von Versionen als das Löschen von Versionen, die gemäß den Richtlinien abgelaufen sind versions_retention_obligation. Im Gegensatz dazu versions:cleanuplöscht die Option alle Versionen innerhalb des ausgewählten Bereichs. Überprüfen Sie die dokumentierten Einstellungen zur Versionsaufbewahrung , bevor Sie die Richtlinie ändern. Die Einstellung disableddeaktiviert das Löschen von Versionen; bereits gespeicherte Versionen werden jedoch nicht endgültig entfernt.
Nachdem der Befehl fehlerfrei abgeschlossen wurde, öffnen Sie die Versionsansicht einer Datei des betroffenen Benutzerkontos. Vergewissern Sie sich, dass keine früheren Versionen mehr aufgeführt sind und die aktuelle Datei noch vorhanden ist. Bei einer Bereinigung für alle Benutzer sollten Sie repräsentative Konten überprüfen, anstatt anzunehmen, dass der Befehl global ausgeführt wurde. Bewahren Sie die Sicherung auf, bis der Kontoinhaber bestätigt, dass keine ältere Version mehr benötigt wird. Wenn Sie lediglich eine Aufbewahrungsfrist einhalten wollten, verwenden Sie versions:expirediese Richtlinie und überprüfen Sie die Ergebnisse, anstatt eine sofortige vollständige Löschung zu erwarten.
Dieser Befehl dient ausschließlich der Versionsverwaltung von Dateien. Er leert weder den Papierkorb, noch entfernt er Sicherungsarchive oder löscht die aktuellen Dateien selbst. Diese Vorgänge sind separate Datenaufbewahrungsaufgaben. Entfernen Sie das Verzeichnis „Versionen“ nicht manuell, um den dokumentierten Befehl zu ersetzen.