欢迎访问机房运维工作室

爱数知识库

AnyShare - 删除空文件夹时,提示:该文件夹下的某些子文件已被锁定,这些文件无法被删除,所在路径将保留。​

频道:爱数知识库 日期: 浏览:23

AnyShare - 删除空文件夹时,提示:该文件夹下的某些子文件已被锁定,这些文件无法被删除,所在路径将保留。​

关键字

删除、锁定、子文件

适用产品

  • AnyShare Enterprise 7.0.x.x
  • AnyShare Express 7.0.x.x


问题描述

删除空文件夹时,提示:该文件夹下的某些子文件已被锁定,这些文件无法被删除,所在路径将保留。

image.png


问题影响

出现该问题将导致无法删除空文件夹。


问题原因

由于程序运行异常,导致文件夹中应该与文件删除同步删除的锁表记录没有自动删除。


解决方案

为了解决该问题,需要清理已经被删除的文件的锁表记录,请按照以下步骤执行:

警告:修改数据库及重启服务为风险操作,请确认操作准确性,建议协调操作窗口。

1.通过 SSH 登录到 AnyShare 节点,执行如下命令,找到 mariadb 数据库 pod,下图以 mariadb-0 为例。

kubectl get po -A -o wide |grep mariadb

2.执行如下命令,通过 kubectl 命令进入容器,备份数据库 anyshare 的 t_lock 表后,登录数据库。

kubectl exec -it mariadb-mariadb-0 -n resource -- /bin/bash

mysqldump -h127.0.0.1 -P3306 -uroot -p anyshare t_lock > /var/lib/mysql/bak_t_lock.sql

mysql -uroot -p

image.pngimage.png

3.在浏览器输入 F12 进入工具模式,找到 delete 接口,获取文件所在文档库的 GNS 值。执行 SQL 语句,查询需要删除的空文件夹的 GNS 在数据库中是否存在文件的锁表记录。

select *from anyshare.t_lock where f_doc_id like "%gns://xxx%"\G;

image.pngimage.png

4.执行 SQL 语句,删除这条已被删除的文件的锁表记录,删除后再次查询空文件夹的锁表信息为空即可。

delect from anyshare.t_lock where f_doc_id ="gns://xxx%";

select *from anyshare.t_lock where f_doc_id like "%gns://xxx%"\G;

image.png

5.重新删除空文件夹即可删除成功。


更多信息

需要注意因为密级、权限问题导致的文件夹为空,删除不了的情况,可以通过统计文件夹大小等方法来辅助判断。