Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Nextcloud "External Storage" "Error deleting file"

Featured Replies

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 by parazit

7 minutes ago, parazit said:

DELETE /remote.php/dav/files/nextcloud/FolderName/test

 

Wo liegt FolderName/ und wie lauten des Rechte?

 

  • Author
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?

130942666_Bildschirmfoto2022-10-25um10_25_38.thumb.png.cc6dc27ab2e693d7c94df954f7a426d6.png

 

Ich bin nach der Video Anleitung von SpaceInvader vorgegangen und im Video hat er genau denselben Fehler "error deleting file" bei Minute 10:44

 

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 by hawihoney

  • Community Expert

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.

 

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 by hawihoney

9 hours ago, parazit said:

//ShareName/test,//data/nextcloud/files_trashbin/files/test.d1666684644

 

Nachtrag: Heißt der Ordner tatsächlich "test," (mit Komma)?

 

  • Author
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.

 

 

 

  • Author
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.

 

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?

 

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:

 

Clipboard01.thumb.jpg.b7f5394590f4cd839a6eac5523f1e2cb.jpg

Edited by hawihoney

  • Author
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.

  • Author
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?

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?

 

image.png.b1fc5d6fdb34f5aa22d7eaae2ab56053.png

Edited by hawihoney

  • Author
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

843230087_Bildschirmfoto2022-10-25um20_16_29.thumb.png.246869fc9b18763d07d6cc9fc1b31298.png

 

und dann in Nextcloud über External Storages den Share über "local" eingebunden

1665193692_Bildschirmfoto2022-10-25um20_17_16.thumb.png.0d86bdbb4f97d1d4fcb38b3d80cbace9.png

  • Author
7 minutes ago, hawihoney said:

 

Dto.

 

Ich muss sicherheitshalber nochmal nachfragen. Was meinst Du mit "External Storage - Plugin"? Du meinst doch das hier, oder?

 

image.png.b1fc5d6fdb34f5aa22d7eaae2ab56053.png

 

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 by parazit

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 ...

 

Clipboard01.thumb.jpg.8aafb56967ee074e1a233f463c70852c.jpg

 

  • Community Expert
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.

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.

 

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 by Enks

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.