我是靠谱客的博主 曾经招牌,最近开发中收集的这篇文章主要介绍owncloud/nextcloud解决文件锁问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

owncloud/nextcloud解决文件锁问题

如果你遇到owncloud/nextcloud文件突然无法删除,也无法修改覆盖等操作时,日志提示“****file is locked.”时,则文件被锁定了。owncloud文件锁存在数据库表oc_file_locks里面,但是对于许多新手安装owncloud/nextcloud只是在mariadb/mysql数据库里创建了一个owncloud/nextcloud库名,一般也不会导入数据进去。所以,本文只针对此类安装法的文件锁问题。关联数据库的百度能搜出一大把解决方法,我这里就不说了。本人也是查了好多资料,参照mysql的办法,使用sqlite修改数据库,解决办法:
1、首先,进入维护模式

sudo -u nginx php /usr/share/nginx/html/nextcloud/occ maintenance:mode --on

或者进入ownCloud目录:编辑config/config.php并更改此行:
‘maintenance’ => true,
2、找到你的数据存储目录data,一般owncloud/nextcloud的数据都存放到data/owncloud.db文件中,使用sqlite打开

sqlite3 /var/nextcloud/data/owncloud.db
#设置显示格式
sqlite> .header on
sqlite> .mode column
sqlite> .explain on
sqlite> .timer on
#查看oc_file_locks表内容
sqlite> select * from oc_file_locks;
#lock值为-1就是锁定文件,我们需要将-1改为0或1都可以。
id
lock
key
ttl
----
-------------
----
----
-1
files/95bc2d7c14333fd9aed48cbf53b83fe6
1571320752
0
files/a5ad3d8d88537a8fb425d17f6e0efced
1571320752
-1
files/cdbd92d07342ff7a7d80baf3d02353a0
1571364776
0
files/f1c246fb445eb0a010a462de9de1db70
1571364776
0
files/02f48903b63360a0878de74604c5ac15
1571363372
0
files/900ee66d93b73cf5da1f2508abd5f44c
1571364793
-1
files/36ef27185d8167f9e873e66c31172e93
1571364793
CPU Time: user 0.004323 sys 0.001131
#批量修改数据
update oc_file_locks set lock="0" where lock="-1";
#退出
sqlite> .exit

3、退出维护模式

sudo -u nginx php /usr/share/nginx/html/nextcloud/occ maintenance:mode --off

4、重启服务

systemctl restart php-fpm
systemctl restart nginx
#有时直接重启不生效,可以先停止再启动服务
systemctl stop php-fpm
systemctl stop nginx
systemctl start php-fpm
systemctl start nginx

重新进入owncloud/nextcloud则此时可以删除修改文件了。

最后

以上就是曾经招牌为你收集整理的owncloud/nextcloud解决文件锁问题的全部内容,希望文章能够帮你解决owncloud/nextcloud解决文件锁问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部