Préambule
Comme vous le savez (si, puisque vous lisez mes articles), j’ai un Nextcloud qui tourne au sein d’une instance YunoHost (en fait, j’ai 3 Nextcloud dont 2 via Yunohost).
Et j’ai poussé des amis internautes à faire de même (Hein Yohan !?!).
Et comme j’ai connu une (petite) « galère » et que j’avais honte de ne rien publier depuis un moment, je vous lâche un article qui (comme souvent) me sert de notes à moi, pour moi, pour vous, pour nous (OK, y en a 2 qui suivent …)
Génèse
Yohan, pour une autre raison, et moi suite à un souci sur un dossier avons dû attaquer Nextcloud en ligne de commande pour supprimer un dossier.
Bon, OK, Yohan a bêtement tapé ce que je lui disais de taper ; il est bien lui, il m’obéit (message subliminal à mes enfants).
En gros, la commande est (pour virer le dossier ‘SOUS-DOSSIER’ de l’utilisateur USER ; je vous laisse adapter si besoin ; en plus, ce n’est pas le sujet)
sudo su
rm -r '/home/yunohost.app/nextcloud/data/USER/files/DOSSIER/SOUS-DOSSIER/'
Le souci ?
Le dossier est alors supprimé MAIS il apparaît toujours sur l’interface Web.
Sur une instance normale de Nextcloud, je sais faire (et vous aussi sans doute ; c’est bien documenté sur le Net) ; il suffit de rescanner les fichiers avec la commande OCC.
Vif du sujet
Dans notre cas (Nextcloud géré par Yunohost), il faut faire un peu différemment.
Je me connecte en ssh à mon serveur au sein du réseau local
ssh -p xxxx user_admin@192.168.0.xxx
(j’utilise un port spécifique et un user d’administration)
ensuite, je passe en root avec
sudo su
Le path à connaître est /var/www/nextcloud/ ; ça peut aider 😉
Ensuite, il faut connaître le user qui va bien.
J’essaye bêtement avec
sudo -u admin php8.1 /var/www/nextcloud/occ files:scan --all
Mais admin ou user_admin ou … n’existent pas ou ne sont pas autorisés.
Arf !!! M’énerve lui !
Dans le doute (le désespoir), je lance la commande sans utilisateur.
php8.1 /var/www/nextcloud/occ files:scan --all
Et la magie fait que le système me donne la réponse 😀 (XXX sont des chiffres)
Owner id of config.php: XXX Try adding 'sudo -u #XXX' to the beginning of the command (without the single quotes)
Hyper confiant, je lance donc
sudo -u #XXX php8.1 /var/www/nextcloud/occ files:scan --all sudo : l'option requiert un argument -- u
Mais pas d’inquiétude, mon inexpérience sera aidée par mon intelligence (ho hé, j’ai bien le droit d’y croire) et je colle des ‘quotes’ à cause du #
sudo -u '#XXX' php8.1 /var/www/nextcloud/occ files:scan --all
Et là, ça commence à bosser (pas d’erreur et le prompt ne me rend pas la main)
Après un court moment, j’ai ça :
sudo -u '#XXX' php8.1 /var/www/nextcloud/occ files:scan --all Starting scan for user 1 out of 4 (papa) Starting scan for user 2 out of 4 (enfant1sur4) Starting scan for user 3 out of 4 (enfant2sur4) Starting scan for user 4 out of 4 (enfant3sur4) +---------+-------+--------+--------------+ | Folders | Files | Errors | Elapsed time | +---------+-------+--------+--------------+ | 2229 | 23181 | 0 | 00:00:45 | +---------+-------+--------+--------------+
Bon, OK, enfant4 et Madame n’ont pas de user, mais ce n’est pas le sujet !!!
On se mêle de ses affaires !
Conclusion
Il est possible de passer les commandes occ sur un Nextcloud au sein d’une instance de Yunohost.
J’ai même testé sur mon autre instance avec (le user ‘#YYY’ est différent du user ‘#XXX’)
sudo -u '#YYY' php8.1 /var/www/nextcloud__2/occ files:scan --all Starting scan for user 1 out of 3 (papa) Starting scan for user 2 out of 3 (enfant1sur4) Starting scan for user 3 out of 3 (enfant3sur4) +---------+-------+--------+--------------+ | Folders | Files | Errors | Elapsed time | +---------+-------+--------+--------------+ | 104 | 11524 | 0 | 00:00:16 | +---------+-------+--------+--------------+
Vous pouvez maintenant tester les commandes OCC qui vous plaisent ou vous sont nécessaires.
Moi, je voulais juste resynchroniser la liste des dossiers/fichiers et je suis arrivé à mes fins. Content Alban !
Donc : Merci Linux, Merci Yunohost, Merci Nextcloud, Merci le Libre !
(Et Merci moi de m’avoir aidé 😀 )