Nextcloud Dokument oder Ordner kann nicht gelöscht oder umbenannt werden
In verschiedenen Konstellationen kann es vorkommen, dass Verzeichnisse oder Dokumente sich nicht löschen lassen. Dieser Vorgang betrifft sowohl das löchen über Web als auch über die Client Anwendung.
Im Normalfall handelt es sich um eine Sperrung in der Datenbank.
Hier beschreibe ich wie Sie die Bereinigung durchführen können und im Anschluss den Löschvorgang wie gewohnt durchführen können.
Fehler
Die Fehlermeldung kann abhängig vom System unterschiedlich ausfallen.
Client
Server hat „423 Locked“ auf „DELETE https://nextcloud.de/remote.php/dav/files/51DAA…/Pfad/der/Datei
Server hat „423 Locked“ auf „PUT https://nextcloud.de/remote.php/dav/files/51DAA…/Pfad/der/Datei
Server hat „500 Internal Server Error“ auf „MOVE https://nextcloud.de/remote.php/dav/files/51DAA…/Pfad/der/Datei
Web
Fehler beim Löschen der Datei „Datei oder Verzeichnisname“.
Lösung 1
Dokumentensperrung aus der Datenbank entfernen.
Melden Sie sich über die Konsole auf Ihrem Nextcloud System an und führen Sie die folgenden Befehle aus, wobei Sie Ihre Pfade und Namen anpassen.
Aktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --on
Melden Sie sich am Datenbankserver an
mysql -u nextcloud -p
Verbinden Sie sich mit der Datenbank
use nextcloud
Führen Sie den SQL Befehl aus um blockierte Einträge freizugeben
delete from oc_file_locks where oc_file_locks.lock = 1;
Vom Datenbankserver abmelden
quit
Deaktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --off
Lösung 2
Hier werden die Daten neu eingescannt und der Cache bereinigt.
Beachten Sie, abhängig der Leistung des Systems und der Datenmenge kann diese Vorgang mehrere Stunden dauern!
Melden Sie sich über die Konsole auf Ihrem Nextcloud System an und führen Sie die folgenden Befehle aus, wobei Sie Ihre Pfade und Namen anpassen.
Aktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --on
Erneutes scannen alle Dateien aller Anwender
sudo -u www-data php occ files:scan --all
Bereinigt der Cache Files
sudo -u www-data php occ files:cleanup
Melden Sie sich am Datenbankserver an
mysql -u nextcloud -p
Verbinden Sie sich mit der Datenbank
use nextcloud
Führen Sie den SQL Befehl aus um blockierte Einträge freizugeben
delete from oc_file_locks where oc_file_locks.lock = 1;
Vom Datenbankserver abmelden
quit
Deaktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --off
Neustart Webserver (Ubuntu System)
service nginx restart
Lösung 3
In meinen Fall hatte ich noch das Problem, dass ich die Dateien löschen konnte, aber nicht die Verzeichnisse.
Dieses Problem konnte in nur lösen, in dem ich alle DB Log Einträge mit != 0 löschte.
Aktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --on
Melden Sie sich am Datenbankserver an
mysql -u nextcloud -p
Verbinden Sie sich mit der Datenbank
use nextcloud
Führen Sie den SQL Befehl aus um blockierte Einträge freizugeben
delete from oc_file_locks where oc_file_locks.lock != 0;
Vom Datenbankserver abmelden
quit
Deaktivieren Sie den Wartungsmodus
cd /mein/nextcloud/Webverzeichnis
sudo -u www-data php occ maintenance:mode --off