Nextcloud - Cannot run scan after setting up an external drive

My YunoHost server

Hardware: Old laptop or computer
YunoHost version: 11.1.18 (stable)
I have access to my server : Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no
If yes, please explain:
If your request is related to an app, specify its name and version: Nextcloud 25.0.6~ynh1

:us:

Description of my issue

I installed Nextcloud on my Yunohost server.
Having external storage to the SSD where Yunohost is placed (this external storage is mounted on /hdd), I followed the part about file migration following case B since I already have files on this external storage.

When comparing to see if the two folders are identical, I notice differences in permissions:

Then, when I run :

cd /var/www/nextcloud
sudo -u nextcloud php8.1 occ files:scan --all

But the empty .ocdata file exists in /hdd/nextcloud_data/nextcloud/data :

Do you have any idea how to successfully run the scan please? Thanks!


:fr:

Description du problème

J’ai installé Nextcloud sur mon serveur Yunohost.
Ayant un stockage externe au SSD où est placé Yunohost (ce stockage externe est monté sur /hdd), j’ai suivi la partie sur la migration de fichiers en suivant le cas B puisque j’ai déjà des fichiers sur ce stockage externe.

Lors de la comparaison pour savoir si les deux dossiers sont identiques, je remarque des différences de permissions :

Puis, lorsque je lance :

cd /var/www/nextcloud
sudo -u nextcloud php8.1 occ files:scan --all

Or le fichier vide .ocdata existe bien dans /hdd/nextcloud_data/nextcloud/data :

Avez-vous une idée pour réussir à lancer le scan svp ? Merci !

Bonjour,

La commande suivante fonctionne chez moi :

sudo -u nextcloud php8.1 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all

Par contre ne me demandez pas pourquoi !

Merci pour votre aide, je confirme avoir aussi trouvé cette recommandation sur le internet, le souci étant que je ne peux pas lancer cette commande si je ne suis pas en root.

Serait-il possible svp de faire un ls -l -h -a respectivement sur :

  • /home/yunohost.app/nextcloud
  • et sur /votrepointdemontage/nextcloud_data/nextcloud ?
    En effet, j’ai vraiment l’impression que c’est un problème de droits. Vous n’êtes pas obligé de publier les résultats, mais juste de me dire si vous avez les mêmes propriétaires de dossiers que moi ?

Merci beaucoup !

J’ai le même résultat que vous pour /home/yunohost.app/nextcloud. Par contre, pour le point de montage c’est moins pertinent : mon HDD externe est monté sur /home. Je dois moi aussi lancer la commande en root (de toute façon, pour accéder à /var/www/nextcloud, il faut déjà être en root : en quoi est-ce un problème ?

1 Like

Effectivement, et je me suis rendu compte que j’avais probablement lancé une mauvaise commande lors de la mise en place des permissions (il me semble que je n’ai pas lancé chown -R nextcloud:nextcloud /pointdemontage).
Finalement, en corrigeant cela, le scan se lance bien avec votre commande en root :

cd cd /var/www/nextcloud
sudo -u nextcloud php8.1 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all

En revanche, j’ai fait 2 tests :

  1. uploader un fichier depuis mon interface Nextcloud : ça marche ! le fichier est synchronisé et visible depuis l’espace nextcloud, ainsi que depuis le ssh
  2. migrer en ssh des fichiers depuis un dossier du point de montage vers mon dossier nextcloud (commande de type mv /pointdemontage/dossier_a_migrer /pointdemontage/nextcloud_data/nextcloud/user/files/Documents) : je peux voir depuis le ssh les fichiers migrés, en revanche, rien n’est visible depuis mon interface nextcloud.
    J’espérais pouvoir migrer mes données de la sorte (car j’en ai beaucoup, et c’était un peu le principe de la migration de la base de donnée vers un stockage externe).

Une idée sur ce problème svp ? Un grand merci

Une solution de dépannage serait peut-être de passer par le client de synchronisation ?
Tu connectes ton disque dur externe à ton PC, tu installes le client nextcloud-desktop, tu y configures les dossiers à synchroniser, et tu laisses le bidule gérer son affaire.

Question peut-être idiote, mais avez-vous bien lancé le scan après avoir migré les fichiers en SSH ? Il faut le faire après chaque copie / modification « manuelle ».

1 Like

Un grand merci, je confirme votre proposition, c’est bien un scan manuel (même commande que précédemment, en root et depuis le même dossier) après avoir migré les fichiers en ssh qu’il fallait faire.

Du coup, j’ai une dernière question :
dans mon mes anciens dossiers du point de montage (à l’époque de mon ancien serveur), je téléchargeais des vidéos youtube avec un cronjob (tous les x jours, je télécharge la dernière vidéo de telle chaine) : est-ce que pour ces tâches cron, le scan doit être nécessaire et si oui, dois-je utiliser un cronjob pour ce scan ? Merci

Si les vidéos sont téléchargées dans le dossier data de Nextcloud, oui, il faudra les indexer par occ mais il est possible de limiter la réindexation à un dossier ou un utilisateur (voir Using the occ command — Nextcloud latest Administration Manual latest documentation).
Personnellement, j’ajouterais plutôt les fichiers dans /home/$USER/Multimedia/Video, qui est accessible depuis Nextcloud mais aussi d’autres programmes et ne nécessite pas d’indexation manuelle (ni automatisée par cron).

1 Like

Je confirme que cela fonctionne. Pour cela, il faut être root (sudo su) pour lancer les tâches cron depuis l’utilisateur root, puis faire :

crontab -e

puis remplir les tâches cron avec les commandes ou scripts qui vont bien. J’ai personnellement ajouté aux tâches cron la ligne suivante :

*/30 * *  *  *   'cd /var/www/nextcloud && sudo -u nextcloud php8.1 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all'

Qui lance un scan toutes lans 30mn afin de synchroniser les documents que j’alimenterais en ssh (en ce qui me concerne les vidéos youtubes téléchargées avec yt-dlp que j’ai installé sur mon serveur).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.