万由u-nas系统Nextcloud手动复制文件

万由u-nas系统Nextcloud手动复制文件

————by icarus

2019.2.16

目录

前言: 

一、安装好Nextcloud后,打开

二、找到Nextcloud放置文件的目录

三、然后把文件上传到你需要放置的位置

四、Nextcloud的根目录

五、用ssh管理软件连接万由

六、登录之后输入相关命令

七、最重要的一步,使用OCC命令更新文件索引

  1、使用OCC命令更新文件索引。

  2、指定扫描位置.

    2.1指定扫描的用户

    2.2指定扫描目录

八、实现效果

 

 

前言:

这几天在用Nextcloud上传文件的时候发现实在是太慢了,不管是网页版,还是app,我图片文件数量超过6000张,选好后app直接就闪退了。

于是有的朋友就想到了,直接把文件上传到服务器里,然后拷贝到data目录下,打开NextCloud,但是你会发现,却还是之前的文件,并没有更新。

这是因为虽然上传了文件,但是Nextcloud的数据库里并没有这个文件的信息。文件信息都被存储在数据库的oc_filecache表中。

为了利用好Nextcloud方便朋友看相片,我只能硬着头皮查找解决办法,终于被我找到,在此写出在万由下的Nextcloud手动复制文件教程。

 

一、安装好Nextcloud后,打开

万由u-nas系统Nextcloud手动复制文件_第1张图片

 

二、找到Nextcloud放置文件的目录

    配置过程就略过了,如果是第一次配置,要记得设置好目录后,启动,并且正确配置。

万由u-nas系统Nextcloud手动复制文件_第2张图片

 

三、然后把文件上传到你需要放置的位置

如,此处我需要把DCIM文件夹放置在用户名为icarus的Photos文件夹内,则我需要用万由自带的资源管理器找到目录/Nextcloud/data/icarus/files/Photos/,放置文件即可

 

万由u-nas系统Nextcloud手动复制文件_第3张图片

万由u-nas系统Nextcloud手动复制文件_第4张图片

 

 

四、Nextcloud的根目录

在万由3.1.0的系统中,Nextcloud的根目录在此,这一步看看就好,只是为了告诉大家Nextcloud的根目录

万由u-nas系统Nextcloud手动复制文件_第5张图片

 

五、用ssh管理软件连接万由

    1、如putty之类的,但是先记得打开SSH服务,如果找不到,则是没有安装,在app管理器安装一下,记得点允许root登录。

万由u-nas系统Nextcloud手动复制文件_第6张图片

万由u-nas系统Nextcloud手动复制文件_第7张图片

 

万由u-nas系统Nextcloud手动复制文件_第8张图片

 

万由u-nas系统Nextcloud手动复制文件_第9张图片

 

2、或者直接用万由的终端也可以,当然你不嫌麻烦,直接接显示器到unas上也是可以的。

万由u-nas系统Nextcloud手动复制文件_第10张图片

 

3、直接用root登录,密码yutech

万由u-nas系统Nextcloud手动复制文件_第11张图片

 

六、登录之后输入相关命令

1、输入以下命令,进入到Nextcloud的根目录下:

cd /unas/apps/nextcloud/web

 

2、我们可以先试试看这个命令能否生效吗,输入命令

sudo -u www-data php occ

万由u-nas系统Nextcloud手动复制文件_第12张图片

 

可以看见命令生效了,显示出版本等各种信息,如果命令没有生效,则问题应该是出在没有进到/unas/apps/nextcloud/web 目录下,如果出错看下面第3点。

 

3、(第2点命令执行成功可以跳过)如,在/unas/apps/nextcloud 目录下执行就报错,说没有找到OCC文件。

 

4、(第2点命令执行成功可以跳过)通过sftp打开我们可以发现,OCC是在/unas/apps/nextcloud/web 目录下

万由u-nas系统Nextcloud手动复制文件_第13张图片

 

5、(了解一下,可以跳过)显示ownCloud/Nextcloud版本

sudo -u www-data php occ -V   #选项为-V,注意大写

 

万由u-nas系统Nextcloud手动复制文件_第14张图片

 

七、最重要的一步,使用OCC命令更新文件索引

以下内容都是在/unas/apps/nextcloud/web目录下执行的,如果没有进入该目录,请看回上面第六大点。

1、使用OCC命令更新文件索引。

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

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

我们需要使用:

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   #扫描所有用户的所有文件

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

万由u-nas系统Nextcloud手动复制文件_第15张图片

图来自 @FrankGreg

 

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

--quiet

如下:

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

 

2、指定扫描位置

总是扫描全部信息并不是那么有必要,还会白白消耗服务器资源。

 

2.1指定扫描的用户

列出所有用户:

sudo -u www-data php occ user:list

 

示例:为用户icarus扫描文件:

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

 

2.2指定扫描目录

当使用

--path

 选项时,该路径必须包含以下部分:

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

其中

/files/

是必须要加上的,不可忽略。

 

示例:

#扫描指向用户icarus的Photos文件夹下的子文件夹DCIM

sudo -u www-data php occ files:scan --path="/icarus/files/Photos/DCIM"

 

输入上面这条命令后,6000多张图片,我们可以通过unas的任务管理器看到进程在跑cpu

万由u-nas系统Nextcloud手动复制文件_第16张图片

最终耗时04:24,速度比我用网页端和app端上传快多少百万倍了,如果是nas上硬盘之间复制剪切,还不用占用其他控制端资源和上下传带宽。

 

万由u-nas系统Nextcloud手动复制文件_第17张图片

 

八、实现效果

我们来看看效果,虽然有一点点麻烦,但是如果在上传又杂又多又大的文件时,通过手动复制上传更新文件,来达到快速复制的目的。

 

如果熟练的话完全可以远程在手机上完成,如,利用万由的u-file app复制或者剪切文件到Nextcloud的目录下,然后用手机的ssh管理软件(如JuiceSSH)登录万由unas,执行相关命令,打开Nextcloud 即可看到实现效果。

 

万由u-nas系统Nextcloud手动复制文件_第18张图片

电脑端

 

万由u-nas系统Nextcloud手动复制文件_第19张图片

电脑端

万由u-nas系统Nextcloud手动复制文件_第20张图片

电脑端

万由u-nas系统Nextcloud手动复制文件_第21张图片

手机端

 

参考网页,感谢

@FrankGreg 

https://www.orgleaf.com/2400.html

你可能感兴趣的:(万由)