Vous n'arrivez pas à supprimer un fichier depuis l'interface web de Nextcloud ? Vous le supprimez dans votre dossier local, mais il réapparaît après chaque synchronisation ? Le fichier « bloqué » persiste sur l'interface web, même après une suppression forcée sur le serveur via SSH ?
Ce comportement n'est pas fréquent, mais il n'est pas rare non plus. Tout utilisateur de Nextcloud finit par y être confronté. Voici comment reprendre la main sur votre instance.
⚠️ Prérequis
Les manipulations décrites ci-dessous doivent être effectuées côté serveur, et non sur votre machine cliente. Nous intervenons ici sur le cœur du système : la gestion du stockage, des métadonnées et des versions des fichiers.
Vous devez disposer d'un accès SSH à votre serveur et posséder les privilèges d'administration (sudo sur Linux ou doas sur OpenBSD).
1. Accès au répertoire racine
Une fois connecté à votre serveur, déplacez-vous dans le dossier racine de votre installation Nextcloud :
cd /var/www/nextcloud
2. Lancer la réindexation
Selon votre système d'exploitation, exécutez la commande correspondante pour forcer Nextcloud à scanner à nouveau les fichiers et synchroniser sa base de données avec le système de fichiers réel :
- Sous Linux :
sudo -u www-data php occ files:scan --unscanned --all - Sous OpenBSD :
doas -u www php occ files:scan --unscanned --all
Analyse des commandes :
sudo/doas: Permet d'exécuter la commande en tant qu'utilisateur propriétaire de l'instance (www-data ou www), et non en tant que root.--unscanned: Limite le scan aux fichiers non indexés (optimise le processus).php occ files:scan: La commande centrale qui réindexe les fichiers et corrige les anomalies de base de données.--all: Indique que la totalité des fichiers et dossiers de l'instance doit être analysée.
3. Optimisation : Scanner un répertoire spécifique
Si le volume de données est important, le scan global peut être long. Si vous connaissez l'emplacement précis du fichier problématique, vous pouvez cibler uniquement son répertoire parent en remplaçant --all par --path.
Le chemin doit commencer par le nom d'utilisateur, suivi de /files/, puis du chemin interne à son dossier Nextcloud.
- Exemple (Linux) : Pour scanner le dossier photos_vacances dans le répertoire Documents de l'utilisateur Mario :
sudo -u www-data php occ files:scan --unscanned --path="Mario/files/Documents/photos_vacances"
Note : Le chemin est relatif à la racine des données de l'utilisateur. En cas de doute, vérifiez la structure réelle sous /var/www/nextcloud/data/username/files/.