Nextcloud/OwnCloud 后台上传文件,用Aria2,BT下载的电影,软件但是在nextcloud/ownCloud里不显示怎么办?

那是因为Nextcloud/ownCloud 的数据库里并没有这个文件的信息。文件信息都被存储在数据库的oc_filecache表中。

OCC(ownCloud console)是ownCloud的命令行工具(也用于Nextcloud),OCC文件默认情况下在nextCloud/ownCloud的根目录下

使用OCC命令解决文件不显示问题:

occ有三个用于管理Nextcloud中文件的命令:

files files:cleanup #清楚文件缓存 
files:scan #重新扫描文件系统 
files:transfer-ownership #将所有文件和文件夹都移动到另一个文件夹

想要让文件显示,我们需要重新扫描文件:

files:scan 

Files:scan的用法:

格式:

files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all] [user_id1] ... [user_idN]

参数:

user_id #扫描所指定的用户(一个或多个,多个用户ID之间要使用空格分开)的所有文件

选项:

--path #限制扫描路径 
--all #扫描所有已知用户的所有文件
--quiet #不输出统计信息 
--verbose #在扫描过程中显示正在处理的文件和目录 
--unscanned #仅扫描以前未扫描过的文件

扫描所有用户的所有文件具体命令:

sudo -u www-data php occ files:scan --all 

扫描所有用户的所有文件,www-data是文件拥有者的用户名,哪个用户启动的Web服务器,所有者就是谁,就填写谁的名字。

OCC文件位于nextCloud的根目录下,如果当前目录不是nextCloud的根目录,则需要补全OCC的路径。

如果你给OCC文件添加了可执行权限,那我们的命令里面可以省略phpOCC文件开头已经指定了由php执行。

执行命令后未进行扫描并列出扫描信息

1
1

如果不想显示扫描信息,可以在后面加上--quiet 例如:

sudo -u www-data php occ files:scan --all --quiet

指定扫描的用户

列出所有用户:

sudo -u www-data php occ user:list

2
2

为用户ChengYe扫描文件:

sudo -u www-data php occ files:scan ChengYe

3
3

指定扫描目录

当使用--path 选项时,该路径必须包含以下部分:

"user_id/files/path" 或
"user_id/files/mount_name" 或
"user_id/files/mount_name/path"

其中/files/是必须要加上的,不可忽略。

例如如我把文件存放到/var/www/nextcloud/data/ChengYe/files/Photos中,现在需要扫描该目录

sudo -u www-data php occ files:scan --path="/ChengYe/files/Photos" #指向用户ChengYe的Photos文件夹

4
4

更多命令行去官网:官网
文章转自:橙叶博客