parazit Posted October 25, 2022 Share Posted October 25, 2022 (edited) Hallo zusammen! Ich habe seit längerem einen Nextcloud Docker am Laufen und hatte meine Unraid Shares über das "External Storage - Plugin" in Nextcloud per SMB eingebunden. Da es oft zu irgendwelchen Fehlern kam, habe ich jetzt die Shares über die "Local" Variante eingebunden. Scheint auch auf den ersten Blick gut zu funktionieren, nur bekomme ich immer eine Fehlermeldung und zwei Log-Einträge, wenn ich einen Ordner lösche. Bei Dateien funktioniert es ohne Probleme. Vorgang: 1. Ordner im eingebundenen Share wird gelöscht 2. Rechts oben erscheint die Fehlermeldung "error deleting file "dateiname"" 3. Seite wird manuell aktualisiert und der Ordner ist weg 4. Zwei Fehlermeldungen im Log [PHP] Error: Error: rename(): The first argument to copy() function cannot be a directory at /config/www/nextcloud/lib/private/Files/Storage/Local.php#361 at <<closure>> 0. <<closure>> OC\Log\ErrorHandler::onError() 1. /config/www/nextcloud/lib/private/Files/Storage/Local.php line 361 rename() 2. /config/www/nextcloud/lib/private/Files/Storage/Local.php line 580 OC\Files\Storage\Local->rename() 3. /config/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php line 595 OC\Files\Storage\Local->moveFromStorage() 4. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 239 OC\Files\Storage\Wrapper\Wrapper->moveFromStorage() 5. /config/www/nextcloud/apps/files_trashbin/lib/Trashbin.php line 323 OCA\Files_Trashbin\Storage->moveFromStorage() 6. /config/www/nextcloud/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php line 107 OCA\Files_Trashbin\Trashbin::move2trash() 7. /config/www/nextcloud/apps/files_trashbin/lib/Trash/TrashManager.php line 102 OCA\Files_Trashbin\Trash\LegacyTrashBackend->moveToTrash() 8. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 202 OCA\Files_Trashbin\Trash\TrashManager->moveToTrash() 9. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 125 OCA\Files_Trashbin\Storage->doDelete() 10. /config/www/nextcloud/lib/private/Files/View.php line 1177 OCA\Files_Trashbin\Storage->rmdir() 11. /config/www/nextcloud/lib/private/Files/View.php line 355 OC\Files\View->basicOperation() 12. /config/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php line 318 OC\Files\View->rmdir() 13. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php line 179 OCA\DAV\Connector\Sabre\Directory->delete() 14. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 281 Sabre\DAV\Tree->delete() 15. /config/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 Sabre\DAV\CorePlugin->httpDelete() 16. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 472 Sabre\DAV\Server->emit() 17. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 253 Sabre\DAV\Server->invokeMethod() 18. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 321 Sabre\DAV\Server->start() 19. /config/www/nextcloud/apps/dav/lib/Server.php line 358 Sabre\DAV\Server->exec() 20. /config/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35 OCA\DAV\Server->exec() 21. /config/www/nextcloud/remote.php line 166 require_once("/config/www/nex ... p") DELETE /remote.php/dav/files/nextcloud/ShareName/test [PHP] Error: Error: rename(//ShareName/test,//data/nextcloud/files_trashbin/files/test.d1666684644): Cross-device link at /config/www/nextcloud/lib/private/Files/Storage/Local.php#361 at <<closure>> 0. <<closure>> OC\Log\ErrorHandler::onError() 1. /config/www/nextcloud/lib/private/Files/Storage/Local.php line 361 rename() 2. /config/www/nextcloud/lib/private/Files/Storage/Local.php line 580 OC\Files\Storage\Local->rename() 3. /config/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php line 595 OC\Files\Storage\Local->moveFromStorage() 4. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 239 OC\Files\Storage\Wrapper\Wrapper->moveFromStorage() 5. /config/www/nextcloud/apps/files_trashbin/lib/Trashbin.php line 323 OCA\Files_Trashbin\Storage->moveFromStorage() 6. /config/www/nextcloud/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php line 107 OCA\Files_Trashbin\Trashbin::move2trash() 7. /config/www/nextcloud/apps/files_trashbin/lib/Trash/TrashManager.php line 102 OCA\Files_Trashbin\Trash\LegacyTrashBackend->moveToTrash() 8. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 202 OCA\Files_Trashbin\Trash\TrashManager->moveToTrash() 9. /config/www/nextcloud/apps/files_trashbin/lib/Storage.php line 125 OCA\Files_Trashbin\Storage->doDelete() 10. /config/www/nextcloud/lib/private/Files/View.php line 1177 OCA\Files_Trashbin\Storage->rmdir() 11. /config/www/nextcloud/lib/private/Files/View.php line 355 OC\Files\View->basicOperation() 12. /config/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php line 318 OC\Files\View->rmdir() 13. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php line 179 OCA\DAV\Connector\Sabre\Directory->delete() 14. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 281 Sabre\DAV\Tree->delete() 15. /config/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 Sabre\DAV\CorePlugin->httpDelete() 16. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 472 Sabre\DAV\Server->emit() 17. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 253 Sabre\DAV\Server->invokeMethod() 18. /config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 321 Sabre\DAV\Server->start() 19. /config/www/nextcloud/apps/dav/lib/Server.php line 358 Sabre\DAV\Server->exec() 20. /config/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35 OCA\DAV\Server->exec() 21. /config/www/nextcloud/remote.php line 166 require_once("/config/www/nex ... p") DELETE /remote.php/dav/files/nextcloud/ShareName/test Leider habe ich bist jetzt keine Lösung gefunden und wollte hier in der Runde fragen, ob nicht vielleicht jemand einen Tipp oder Lösung für dieses Problem hätte? Danke im Voraus! Edited October 25, 2022 by parazit Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 7 minutes ago, parazit said: DELETE /remote.php/dav/files/nextcloud/FolderName/test Wo liegt FolderName/ und wie lauten des Rechte? Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 3 minutes ago, hawihoney said: Wo liegt FolderName/ und wie lauten des Rechte? Sorry, das ist nicht die Bezeichnung vom Ordner sondern vom Share, habe es ausgebessert. Der wurde direkt in der Unraid GUI erstellt. Denselben Share habe ich dann direkt in der Nextcloud Docker Configuration gemapped, um eben den Share über die Variante "local" in Nextcloud einzubinden. Somit sollten die Rechte auf den Share richtig gesetzt sein oder? Ich bin nach der Video Anleitung von SpaceInvader vorgegangen und im Video hat er genau denselben Fehler "error deleting file" bei Minute 10:44 Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 (edited) 9 hours ago, parazit said: Sorry, das ist nicht die Bezeichnung vom Ordner sondern vom Share, habe es ausgebessert. Also "test" ist der zu löschende Ordner. Aber wie lauten seine Rechte? Womit wurde test angelegt? Edited October 25, 2022 by hawihoney Quote Link to comment
mgutt Posted October 25, 2022 Share Posted October 25, 2022 Die Tage hatte ich einen Kunden, wo ich das mit External umgesetzt habe bzw dann doch nicht, weil das ja echt nur so halbgar in Nextcloud integriert ist. Wir haben daher alles in Nextcloud importiert und stattdessen über SMB Extra die Nextcloud User-Ordner als eigene Shares freigegeben. Für die Indexierung gibt es ein Skript, was aktuell noch manuell angestoßen wird, aber ich habe schon überlegt, ob man da nicht die SMB Logs überwacht und das dann automatisch triggert. Jedenfalls glaube ich nicht, dass es sinnvoll ist in External zu schreiben. Wenn nur rein lesend. Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 (edited) 30 minutes ago, mgutt said: Jedenfalls glaube ich nicht, dass es sinnvoll ist in External zu schreiben. Wenn nur rein lesend. Hier wird ausschließlich über SMB in die External Storages von Nextcloud reingeschrieben. Nextcloud ist eigentlich nur unser "Indexer". Null Probleme. Es ist doch wurscht welcher User schreibt, Hauptsache die Rechte stimmen. Das ist das Unraid Paradigma. Habe heute morgen via TotalCommander von meinem Windows 11 Laptop eine Plex APK auf Unraid kopiert: -rw-rw-rw- 1 icke users 54387967 Oct 25 10:57 kepler-armv7a-amazon-9.10.0.35938-d3e192f0.apk Und gerade eben habe ich einen Test Ordner von dem selben Laptop in diesem Share angelegt: drwxrwxrwx 2 icke users 6 Oct 25 19:38 test/ Auf Grund der Rechte kann das jeder löschen. Die Frage ist also: Wie wurde der Ordner angelegt und wie lauten seine Rechte? Nachtrag: Den mit Windows 11 über SMB angelegten Ordner habe ich selbstverständlich über Nextcloud löschen können. Nextcloud scanned einen Ordner den man betritt im Hintergrund automatisch nach neuen Inhalten. Früher war das Verhalten konfigurierbar. Ich finde das aber nicht mehr. Scheint jetzt Standard zu sein. Edited October 25, 2022 by hawihoney Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 9 hours ago, parazit said: //ShareName/test,//data/nextcloud/files_trashbin/files/test.d1666684644 Nachtrag: Heißt der Ordner tatsächlich "test," (mit Komma)? Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 22 minutes ago, hawihoney said: Also "test" ist der zu löschende Ordner. Aber wie lauten seine Rechte? Womit wurde test angelegt. Genau, test ist der zu löschende Ordner. Habe es jetzt gerade nochmal getestet. Fall 1: Ordner über die Nextcloud WebGUI erstellt / Rechte: drwxr-xr-x 1 nobody users Habe dann diesem Ordner alle Rechte gegeben "drwxrwxrwx" Danach habe ich den Ordner in der Nextcloud WebGUI gelöscht. Gleiches Verhalten und der gleiche Fehler Fall2: Ordner im Share erstellt / Rechte: drwxrwxrwx Diesen Ordner über die Nextcloud WebGUI gelöscht Fehler bleibt gleich Es liegt also meiner Meinung nach nicht an den Rechten, weil ja der Ordner trotzdem gelöscht wird, auch wenn man die GUI aktualisieren muss. Im Share ist der Ordner sofort gelöscht. Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 2 minutes ago, hawihoney said: Nachtrag: Heißt der Ordner tatsächlich "test," (mit Komma)? Nein, ohne Komma. Ich habe es schon sicher 20x probiert Nach viel Recherche, habe ich auch noch von anderen Nextcloud Usern gelesen, dass sie den gleichen Fehler haben. Eine Lösung gab es leider nie. Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 4 minutes ago, parazit said: Ordner über die Nextcloud WebGUI erstellt / Rechte: drwxr-xr-x 1 nobody users Habe ich auch noch mal getestet: drwxr-xr-x 2 nobody users 6 Oct 25 19:57 Neuer\ Ordner/ Dann den Ordner wieder mit Nextcloud gelöscht. Kein Problem. Da stimmt etwas nicht mit Deiner Installation. Welchen Nextcloud Container verwendet Du? Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 (edited) 12 minutes ago, parazit said: Nein, ohne Komma. Wo kommt denn dann das Komma in der Fehlermeldung her? Ist aber auch egal, das kann nicht den Fehler auslösen. 10 hours ago, parazit said: //ShareName/test,//data/nextcloud/files_trashbin/files/test.d1666684644 Ich denke, dass das der Fehler ist. Wie hast Du den Share in den "Externen Speicher" von Nextcloud eingebunden? Wieso ist das ein UNC und nicht der lokale Pfad? Bei mir sieht das so aus: Edited October 25, 2022 by hawihoney Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 32 minutes ago, mgutt said: Die Tage hatte ich einen Kunden, wo ich das mit External umgesetzt habe bzw dann doch nicht, weil das ja echt nur so halbgar in Nextcloud integriert ist. Wir haben daher alles in Nextcloud importiert und stattdessen über SMB Extra die Nextcloud User-Ordner als eigene Shares freigegeben. Für die Indexierung gibt es ein Skript, was aktuell noch manuell angestoßen wird, aber ich habe schon überlegt, ob man da nicht die SMB Logs überwacht und das dann automatisch triggert. Jedenfalls glaube ich nicht, dass es sinnvoll ist in External zu schreiben. Wenn nur rein lesend. So wie du es umgesetzt hast mit den User-Ordner als eigene Shares, wollte ich zuerst auch machen. Wurde mir aber von einem Bekannten abgeraten, weil man ein Indexierungsproblem hat und evtl. sogar mehr Schaden anrichten kann. In External über Nextcloud zu schreiben ist kein Problem, aber auf einen Share zb. über einen PC zu schreiben und dann in Nextcloud aufzurufen ist ein Problem, weil Nextcloud die neuen Dateien nicht sofort aktualisiert. Man kann den Vorgang entweder selber triggern oder warten bis Nextcloud es selber macht. Damit habe ich aber eigentlich kein Problem. MIr geht es eher darum, dass die Integration der "Externen Shares" ohne Probleme läuft und das tut dieses Plugin nicht. Egal ob per SMB oder als local - immer ist irgendetwas. Da sind wir nicht die Einzigen. Wenn man die Nextcloud nur als Cloud ohne der Externen Shares verwendet, läuft einwandfrei. Aber für meinen Workflow möchte ich beides, deswegen werde ich mir in den nächsten Tagen "Filerun" installieren. Dort sollte die Einbindung der Externen Shares + Indexierung von Haus aus laufen. Nachteile: nicht Open-Source und nur 10 User wenn man seinen Server registriert. Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 9 minutes ago, hawihoney said: Habe ich auch noch mal getestet: drwxr-xr-x 2 nobody users 6 Oct 25 19:57 Neuer\ Ordner/ Dann den Ordner wieder mit Nextcloud gelöscht. Kein Problem. Da stimmt etwas nicht mit Deiner Installation. Welchen Nextcloud Container verwendet Du? Ich verwende den Linuxserver Container, welchen verwendest du? Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 (edited) 2 minutes ago, parazit said: Ich verwende den Linuxserver Container, welchen verwendest du? Dto. Ich muss sicherheitshalber nochmal nachfragen. Was meinst Du mit "External Storage - Plugin"? Du meinst doch das hier, oder? Edited October 25, 2022 by hawihoney Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 3 minutes ago, hawihoney said: Wo kommt denn dann das Komma in der Fehlermeldung her? Ist aber auch egal, das kann nicht den Fehler auslösen. Ich denke, dass das der Fehler ist. Wie hast Du den Share in den "Externen Speicher" von Nextcloud eingebunden? Wieso ist das ein UNC und nicht der lokale Pfad? Den Share habe ich zuerst im Container gemappt und dann in Nextcloud über External Storages den Share über "local" eingebunden Quote Link to comment
parazit Posted October 25, 2022 Author Share Posted October 25, 2022 (edited) 7 minutes ago, hawihoney said: Dto. Ich muss sicherheitshalber nochmal nachfragen. Was meinst Du mit "External Storage - Plugin"? Du meinst doch das hier, oder? Ja genau. Bei Nextcloud sind es zwar Apps, ich nehme sie aber immer Plugins, sorry Kannst du mir vielleicht sagen, wie bei dir die Shares eingebunden sind? Edited October 25, 2022 by parazit Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 5 minutes ago, parazit said: und dann in Nextcloud über External Storages den Share über "local" eingebunden Und das sieht bei mir so aus. Der einzige Unterschied zwischen uns ist das r/w-slave. Mich wundert, dass bei Dir mit UNC Namen gearbeitet wird (//ShareName/test). Was würde denn Nextcloud bei mir machen? //Mnt/? Da stimmt etwas nicht. Der Name in der Container Einstellung hat nichts, aber auch überhaupt nichts, mit Nextcloud zu tun. Der Container Path ist relevant. In der Fehlermeldung wird aber der Name aus der Container Einstellung verwendet. Da weiß ich nicht weiter ... Quote Link to comment
mgutt Posted October 25, 2022 Share Posted October 25, 2022 1 hour ago, parazit said: weil man ein Indexierungsproblem hat Hast du bei External Storage auch, wenn du keinen Cron laufen hast. Nextcloud scannt den Ordner ja alle 15 Minuten (wenn das dein Cron-Intervall ist). 1 hour ago, parazit said: sogar mehr Schaden anrichten kann Das ist Unsinn. Ein paar Nachteile hat External Storage auch. zB wenn man Dateien auf dem externen Storage löscht, sind sie weg, statt im Nextcloud Papierkorb zu landen. Ändert man sie dort, werden diese Änderungen nicht von Nextcloud gesichert. Löscht man sie dagegen über Nextcloud, landen sie auf dem Datenträger, wo /data liegt. Das kann lustige Side Effects haben, insbesondere wenn man diesen Ordner eigentlich nur auf der SSD haben will. Und das selbe gilt für Dateiänderungen, die man über Nextcloud anstößt. Dann wird die Originaldatei ebenfalls nach /data verschoben. Aber ähnliche Side Effects hat man auch bei meiner genannten Idee das als SMB Extra Share verfügbar zu machen. Vermutlich sind beide Varianten doof. Ich denke optimal ist es, wenn man External Storage nur für read-only Ordner nutzt und auf alles was direkt in der Nextcloud liegt, sollte man nur über die GUI oder WebDAV zugreifen. Dann passt der Index, der Papierkorb und die Dateiversionierung. Quote Link to comment
mgutt Posted October 25, 2022 Share Posted October 25, 2022 11 hours ago, parazit said: Cross-device link Das scheint ein Bug zu sein: https://github.com/nextcloud/server/issues/14743 Quote Link to comment
hawihoney Posted October 25, 2022 Share Posted October 25, 2022 1 hour ago, mgutt said: Und das selbe gilt für Dateiänderungen, die man über Nextcloud anstößt. Dann wird die Originaldatei ebenfalls nach /data verschoben. Die alte Datei: Ja. Die neue geänderte Datei ins External Storage, wohin sie gehört. Die alte Datei im /data dient der Versionierung und kann wieder restored werden. Quote Link to comment
Enks Posted October 25, 2022 Share Posted October 25, 2022 (edited) Aus eigener Erfahrung kann ich sagen, dass Nextcloud External Storage mit R/W- Rechten ein Graus ist. Ich hatte damals neben verschiedensten Rechte-Problemen auch den Fehler beim Löschen von Ordnern (Wenn es wen interessiert kann es hier nachgelesen werden: https://forums.unraid.net/topic/118356-nextcloud-rechteproblem-smb ). Letztendlich bin ich dann, wie mgutt bereits erwähnte, zum Schluss gekommen auf den External Storage nur rein lesend zuzugreifen bzw. habe ich dann die betreffenden Shares beim Mapping gleich auf Read-only gesetzt. Edited October 25, 2022 by Enks Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.