向Nextcloud服务器上传文件,当文件比较小又比较多的时候,即便是在局域网下速度也会很慢,那有没有什么解决办法呢,联想到使用ftp上传的速度比较快,试过直接把文件上传到NC的数据目录,虽然在浏览器中看到了上传的文件,但是不能够进行移动删除等操作。NC中正常上传的文件会在数据库中进行记录,直接导入的文件没有记录在数据库中。NC安装目录中的occ命令可以用来更新文件的索引。从上传文件开始到更新数据库结束的操作如下:
1、局域网中使用FTP命令或者任意的FTP工具上传文件到服务器,将文件移动到NC数据文件夹的对应位置。更改文件的属型为755,属主与属组都为www-data。
2、在NC安装目录下运行更新索引的命令。
occ命令的用法:
occ files:cleanup
occ files:scan
occ files:transfer-ownership
我们要使用第二个,在扫描文件的同时会更新数据库记录。
格式:
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 #扫描所有用户的所有文件
执行命令后未进行扫描并列出扫描信息。
如果不想显示扫描信息,可以在后面加上
–quiet
,如下:
sudo -u www-data php occ files:scan –all –quiet
指定扫描位置
总是扫描全部信息并不是那么有必要,还会白白消耗服务器资源。
指定扫描的用户
列出所有用户:
sudo -u www-data php occ user:list
为用户user扫描文件:
sudo -u www-data php occ files:scan user
示例:
sudo -u www-data php occ files:scan –path=”/user/files/Photos” #指向用户user的Photos文件夹