如何SCP数据到ownCloud?

Léo*_* 준영 3 raspberrypi owncloud-server 16.04

动机:owncloud-client由于多种原因定期失败;我需要scp在那些活动中。在服务器中,ls -la$HOME

drwxr-xr-x 2 masi masi 4096 May 31 14:14 .
drwxr-xr-x 4 root root 4096 May 31 10:18 ..
-rw------- 1 masi masi 1099 May 31 12:20 .bash_history
-rw-r--r-- 1 masi masi  220 May 31 10:18 .bash_logout
-rw-r--r-- 1 masi masi 3512 May 31 10:18 .bashrc
-rw-r--r-- 1 masi masi  675 May 31 10:18 .profile
-rw------- 1 masi masi 2632 May 31 14:14 .viminfo
Run Code Online (Sandbox Code Playgroud)

我可以

  • ssh masi@192.168.1.101

我不能因为某种原因

  • scp $HOME/5GBdata/ masi@192.168.1.101:$HOME/

SCP文件在哪里?

服务器:树莓派 3b。客户端:Ubuntu 16.04。

回顾 Ankit 的回答

客户端

masi@masi:~/Documents/Masi$ rsync -avz Directory -e ssh masi@192.168.1.107:/home/masi/
sending incremental file list
Directory/
Directory/common_mistakes.tex

sent 484 bytes  received 58 bytes  63.76 bytes/sec
total size is 4,143  speedup is 7.64
Run Code Online (Sandbox Code Playgroud)

服务器端

masi@raspberrypi:~ $ ls Directory/
common_mistakes.tex
masi@raspberrypi:~ $ sudo cp -r /home/masi/Directory /var/www/owncloud/data/masi/files/

masi@raspberrypi:~ $ sudo -u www-data php /var/www/owncloud/occ files:scan masi 
Scanning file   /masi/
Scanning folder /masi/
... 
Scanning file   /masi/files/Directory
...
Scanning folder /masi/files/Directory
Scanning file   /masi/files/Hematology/._common_mistakes.tex
Scanning file   /masi/files/Hematology/common_mistakes.tex
...
Scanning folder /masi/cache
Run Code Online (Sandbox Code Playgroud)

你必须有一个完整的路径到occ. 有用!

ank*_*540 6

先决条件:

  1. Owncloud 服务器上的数据目录 :通过ssh 连接到服务器。如果您已将owncloud 服务器安装到默认位置( /var/www),则转到配置文件查找数据目录位置。

nano /var/www/owncloud/config/config.php

该文件将告诉您数据目录的位置(存储所有文件的位置。)。像这样;owncloud的config.php文件

现在的解决方案

首先,您可以使用 rsync 和 ssh 将文件夹传输到服务器。它最方便和快速(因为包括压缩)。比如从本地电脑上终端使用,

rsync -avz /path/to/local/50GBfolder -e ssh username@address:/home/user

接下来,使用 ssh 连接到服务器,然后将文件夹复制到 owncloud 数据目录。(需要两个步骤,因为您需要 root 权限才能复制到www-data用户拥有的 owncloud 数据目录。)

以这种方式复制文件;

sudo cp -r /home/user/50Gbfolder /path/to/data/$owncloud_username/files/

  • 在 data 目录下,每个 owncloud 用户都有一个文件夹 as owncloud_username,然后在那个文件夹下有一个文件夹 as files; 因此在命令中提到了上面。

最后,通过扫描识别新文件来更新 owncloud 数据库。这是通过预建命令完成的。首先,将目录更改为您自己的云安装目录。默认情况下,这是\var\www\owncloud. 所以,

cd \var\www\owncloud

如果这样做ls,您将occ在此文件夹下看到一个可执行文件。这occ是一个基于 php 的程序。

要运行occ重新扫描,

sudo -u www-data php occ files:scan $user_name

完全重新扫描可能需要一些时间。重新扫描后,您将在从浏览器登录时看到该文件夹​​。


解释:

  • rsync -avz /path/to/local/50GBfolder -e ssh username@address:/home/user

-a包括递归、权限、链接、组等等等。检查手册页。-v详细,-z压缩和传输。

  • sudo cp -r /home/user/50Gbfolder /path/to/data/$owncloud_username/files/

-r 递归文件夹复制,所有子文件夹都被复制。