宇筱博客

  • 解决办法
  • 学无止境
  • 记录时光
  • 百宝箱
宇筱博客
点滴记忆,汇聚成海。
  1. 首页
  2. 学无止境
  3. 正文

解决Nextcloud / Owncloud 无法删除目录(或文件)

2018年1月8日 232点热度 0人点赞 2条评论

1. 现象

删除目录或文件时提示:

无法删除文件 “***”
Error deleting file "***"

2. 解决方法

查看数据目录下nextcloud.log,可能有三种情况:

情况A

{"reqId":"0DijSqEkfOg2iyh9VD8J","remoteAddr":"xx.xx.xx.xx","app":"webdav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 423 \\\"path\\\/file.extension\\\" is locked\",\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\FileLocked\",\"Code\":0,\"Trace\":\"#0

此时是因为文件或目录被锁,可按以下操作暂时解决问题:

1)进入维护模式

php /path/to/nextcloud/web/occ maintenance:mode --on  或 sudo -u www php occ maintenance:mode --on

2)使用mysql命令行工具,在owncloud/nextcloud所在数据库中执行

DELETE FROM oc_file_locks WHERE 1

3)退出维护模式

php /path/to/nextcloud/web/occ maintenance:mode --off 或 sudo -u www php occ maintenance:mode --off

4)确保cron正常运行。

 

情况B

{"reqId":"***","level":3,"time":"2018-04-28T16:19:53+00:00","remoteAddr":"127.0.0.1","user":"***","app":"PHP","method":"DELETE","url":"\/remote.php\/webdav\***","message":"unlink(\/mnt\/***): Permission denied at ***/lib\/private\/Files\/Storage\/Local.php#112","userAgent":"Mozilla\/5.0 ,"manuscript from cmdgy.com, version":"13.0.1.1"}

此时待删除的①文件、②目录、③目录中有文件 对于php进程无写入权限。

使用chown -R修复数据目录的权限解决。

情况C

{"reqId":"***","level":3,"time":"2018-04-28T16:26:32+00:00","remoteAddr":"127.0.0.1","user":"***","app":"PHP","method":"DELETE","url":"\/remote.php\/webdav\***","message":"rename(): The first argument to copy() function cannot be a directory at ***/lib\/private\/Files\/Storage\/Local.php#270","userAgent":"Mozilla\/5.0 manuscript from cmdgy.com ","version":"13.0.1.1"}

{"reqId":"***","level":3,"time":"2018-04-28T16:26:32+00:00","remoteAddr":"127.0.0.1","user":"***","app":"PHP","method":"DELETE","url":"\/remote.php\/webdav\***","message":"rename(***files_trashbin\/files\/***): Invalid cross-device link at \/***\/lib\/private\/Files\/Storage\/Local.php#270","userAgent":"Mozilla\/5.0 manuscript from cmdgy.com","version":"13.0.1.1"}

此时需检查文件目录是否通过mount -bind方式挂载。

cat /etc/fstab | grep bind

如是,将导致nextcloud/owncloud的回收站机制失效。此时网页端和客户端均有删除失败提示,但实际上目录已经删除。为恢复回收站机制,需要取消mount -bind方式挂载目录。

原文链接:https://www.cmdgy.com/20180429/382.html

Post Views: 8,220
标签: 暂无
最后更新:2022年2月11日

小渔民

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • LINNNNN

    可以在config/config.php中配置一条:'filelocking.enabled' => false.
    然后就可以顺利删除被锁定的文件了。

    2022年1月18日
    回复
    • 小渔民

      @LINNNNN @LINNNNN:难道这是新版本解决方案!?

      2022年1月18日
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    COPYRIGHT © 2023 渔人码头. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    豫ICP备15017825号-2