Motivation: owncloud-client
échoue périodiquement pour plusieurs raisons; J'ai besoin de scp
pendant ces événements. Sur le serveur, ls -la
sur $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
Je peux
Je ne peux pas pour une raison quelconque
scp $HOME/5GBdata/ [email protected]:$HOME/
Où les fichiers SCP?
Serveur: Raspberry Pi 3b. Client: Ubuntu 16.04.
Côté client
masi@masi:~/Documents/Masi$ rsync -avz Directory -e ssh [email protected]:/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
Du côté serveur
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
où vous devez avoir un chemin complet vers occ
. Ça marche!
Conditions préalables:
/var/www
), cliquez sur OK. dans le fichier de configuration pour rechercher l’emplacement du répertoire de données.nano /var/www/owncloud/config/config.php
Ce fichier vous indiquera l’emplacement du répertoire de données (l’emplacement où tous les fichiers sont stockés). Comme ça;
Maintenant la Solution :
Tout d'abord , vous pouvez transférer le dossier sur le serveur à l'aide de rsync et de ssh. Son plus pratique et rapide (puisque la compression est incluse). Par exemple, à partir de l’ordinateur local du terminal, utilisez
rsync -avz /path/to/local/50GBfolder -e ssh username@address:/home/user
Suivant , connectez-vous au serveur à l'aide de ssh et copiez le dossier dans le répertoire de données de owncloud. (Deux étapes sont nécessaires, car vous devez disposer de l’autorisation root pour copier dans un répertoire de données owncloud qui appartient à www-data
user.)
Copier les fichiers de cette façon;
Sudo cp -r /home/user/50Gbfolder /path/to/data/$owncloud_username/files/
owncloud_username
, puis sous ce dossier, un dossier comme files
; donc mentionné ci-dessus dans la commande. Enfin, mettez à jour la base de données owncloud en scannant les nouveaux fichiers. Ceci est fait par commande pré-construite. Commencez par changer de répertoire dans votre répertoire d’installation owncloud. Par défaut, il s'agit de \var\www\owncloud
. alors,
cd \var\www\owncloud
Si vous faites ls
, vous verrez un exécutable sous la forme occ
sous ce dossier. This occ
est un programme basé sur php.
Pour exécuter occ
pour une nouvelle analyse,
Sudo -u www-data php occ files:scan $user_name
Une nouvelle analyse complète peut prendre un certain temps. Après la nouvelle analyse, vous verrez le dossier lorsque vous êtes connecté à partir d'un navigateur.
Explication:
rsync -avz /path/to/local/50GBfolder -e ssh username@address:/home/user
-a
comprend récursif, autorisations, liens, groupes, etc. et bien plus encore. Vérifiez la page de manuel. -v
verbeux, -z
compresser et transférer.
Sudo cp -r /home/user/50Gbfolder /path/to/data/$owncloud_username/files/
-r
copie récursive de dossier, tous les sous-dossiers sont copiés.
Votre commande scp pose deux problèmes:
Vous essayez de télécharger un répertoire. Vous devez donc fournir l'option -r
(copie récursive).
Les variables d'environnement sont substituées avant l'exécution de la commande. Par conséquent, $HOME
dans [email protected]:$HOME/
s'étend au chemin de votre répertoire de base sur votre machine locale (plutôt que distante). Si les chemins du répertoire de base sur les deux ordinateurs sont différents, la commande ne fonctionnera pas comme prévu, échouant probablement à cause de problèmes d'accès. Lorsque vous utilisez scp
, reportez-vous à votre répertoire de base sur la machine distante avec '.' (En d'autres termes, scp
interprète les chemins de la machine distante par rapport à votre répertoire personnel).
Donc, la commande correcte sera:
scp -r $HOME/5GBdata/ [email protected]:.
Cependant, notez que cette réponse ne fait que souligner vos erreurs en utilisant scp
. Reportez-vous aux autres réponses pour obtenir des recommandations sur la manière d'atteindre votre objectif final.