提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载【谷歌浏览器最新绿色便携版】
注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
有时候,直接通过Web页面上传文件并不那么方便,于是有的朋友就直接把文件上传到服务器里,然后拷贝到data目录下,打开ownCloud,却还是之前的文件。这是因为虽然上传了文件,但是ownCloud/Nextcloud的数据库里并没有这个文件的信息。文件信息都被存储在数据库的oc_filecache表中。此时,需要使用OCC命令手动更新文件目录。
使用OCC命令更新文件索引
occ有三个用于管理Nextcloud中文件的命令:
1 2 3 |
files files:cleanup #清楚文件缓存 files:scan #重新扫描文件系统 files:transfer-ownership #将所有文件和文件夹都移动到另一个文件夹 |
我们需要使用files:scan
来扫描新文件。
1 2 3 |
格式: files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all] [user_id1] ... [user_idN] 参数: user_id #扫描所指定的用户(一个或多个,多个用户ID之间要使用空格分开)的所有文件 选项: --path #限制扫描路径 --all #扫描所有已知用户的所有文件 --quiet #不输出统计信息 --verbose #在扫描过程中显示正在处理的文件和目录 --unscanned #仅扫描以前未扫描过的文件 |
以下是一个具体的命令示例:
1 2 |
cd /path/to/nextcloud sudo -u www-data php occ files:scan --all #扫描所有用户的所有文件 |
如果不想显示扫描信息,可以在后面加上--quiet
,如下:
1 |
sudo -u www-data php occ files:scan --all --quiet |
指定扫描的用户
列出所有用户:
1 |
sudo -u www-data php occ user:list |
为用户ChengYe扫描文件:
1 |
sudo -u www-data php occ files:scan ChengYe |
指定扫描目录
当使用--path
选项时,该路径必须包含以下部分:
1 2 3 |
"user_id/files/path" 或 "user_id/files/mount_name" 或 "user_id/files/mount_name/path" |
其中,/files/
是必须要加上的,不可忽略。
示例:
1 |
sudo -u www-data php occ files:scan --path="/ChengYe/files/Photos" #指向用户ChengYe的Photos文件夹 |
docker版本扫描方法
在 Docker 里,需要使用下面的命令行,记录一下:
1 |
su www-data -s /bin/bash -c "php /var/www/html/occ files:scan --all" |
或者直接在容器外使用方式:
1 2 3 |
docker exec nextcloud su www-data -s /bin/bash -c "php /var/www/html/occ files:scan --all" docker exec nextcloud su www-data -s /bin/bash -c "php /var/www/html/occ files:scan --path="/ChengYe/files/Photos"" |
记得把 exec 后面的换成你的容器名即可。