使用OCC命令为Nextcloud手动添加文件-使后台上传的文件在Nextcloud中显示
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
文件添加了可执行权限,那我们的命令里面可以省略php
,OCC
文件开头已经指定了由php
执行。
执行命令后未进行扫描并列出扫描信息
如果不想显示扫描信息,可以在后面加上--quiet
例如:
sudo -u www-data php occ files:scan --all --quiet
指定扫描的用户
列出所有用户:
sudo -u www-data php occ user:list
为用户ChengYe扫描文件:
sudo -u www-data php occ files:scan ChengYe
指定扫描目录
当使用--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文件夹