Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Pour une installation Linux classique, montez le disque externe de manière permanente, copiez l'intégralité du répertoire de données pendant que Nextcloud est hors ligne, puis créez un lien symbolique entre le chemin d'origine et le nouvel emplacement. Ne modifiez pas simplement datadirectoryle cheminconfig.php : Nextcloud gère le stockage local par chemin absolu, une modification directe peut donc rendre orphelins des fichiers et des partages.

Cet exemple suppose l'installation d'un paquet ou d'une archive. Les installations Docker, Snap et appliances utilisent des chemins d'accès différents ; adaptez le point de montage à ce déploiement au lieu de copier aveuglément ces chemins hôtes.

Ce qui est confirmé et ce qui dépend de votre serveur

PointQue faire
Vérifié : Nextcloud utilise le chemin absolu pour identifier le stockage local. Une manipulation imprudente peut entraîner la suppression de fichiers ou de partages.Conservez le chemin configuré de manière stable grâce à un lien symbolique ; préservez tout son contenu, y compris .ncdata.
Dépend de la configuration : le chemin d’accès aux données, l’utilisateur HTTP, le système de fichiers et les noms de service varient.Vérifiez votre configuration effective et assurez-vous que le disque conserve les droits de propriété et les permissions Linux requis.
Dépendance au disque : le montage de démarrage et l'alimentation fiables ne peuvent être garantis.Montez-le par UUID, testez le montage après le redémarrage et empêchez Nextcloud de démarrer en l'absence du disque de données.

L'option de montage de stockage externe de l'application Fichiers ajoute un emplacement secondaire ; elle ne déplace pas le répertoire de données principal. Utilisez-la pour un dossier supplémentaire ou un partage, et migrez le répertoire de données lorsque les fichiers et métadonnées du serveur doivent être stockés sur le disque.

1. Sauvegardez Nextcloud et identifiez le chemin source

Sauvegardez la base de données, config/le répertoire de données, les applications personnalisées et les thèmes. Assurez-vous que la sauvegarde de la base de données est restaurable ; la simple copie des fichiers ne constitue pas une restauration complète.

Trouvez le chemin d'accès aux données dans config/config.phpou avec occ config:system:get datadirectory, puis identifiez l'utilisateur HTTP. Les exemples utilisent www-dataet/var/www/nextcloud/data ; remplacez-les par vos valeurs réelles. Ne formatez pas un lecteur contenant des fichiers dont vous avez besoin.

Un utilitaire de disque Linux affichant un lecteur externe sélectionné, un système de fichiers ext4 et un champ de point de montage
Illustration : une vue de l’utilitaire de disque affiche les détails du disque externe et du système de fichiers à vérifier avant de le monter pour Nextcloud.

2. Montez le disque dur sur un chemin stable

Exécutez la commande lsblk -fet notez l'UUID du système de fichiers de la partition. Les noms, tels que « /etc/filesystem » /dev/sdb1, peuvent changer ; utilisez donc l'UUID dans la configuration de montage.

Pour un serveur Linux utilisant ext4, créez un point de montage et ajoutez une ligne comme celle-ci à /etc/fstab, en remplaçant l'UUID d'exemple par le véritable UUID :

UUID=YOUR-DRIVE-UUID /srv/nextcloud-disk ext4 defaults 0 2

Utilisez le type déjà présent sur la partition ; cette ligne ne la formate pas. Vérifiez que le système de fichiers conserve les droits d'accès et de propriété nécessaires à Nextcloud.

Montez-le et vérifiez-le avant d'y placer des données :

sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk

Vérifiez que la sortie identifie bien la partition externe. Si vous utilisez `systemctl` nofail, limitez également les services web/PHP au point de montage ; sinon, un disque manquant pourrait laisser un répertoire de montage vide, accessible en écriture. Un module `systemctl` peut être utilisé RequiresMountsFor=/srv/nextcloud-disk. Laissez le disque connecté pendant l'exécution de Nextcloud.

Un éditeur de terminal affichant une entrée de système de fichiers basée sur un UUID pour un volume externe monté
Illustration : une entrée UUID dans la table du système de fichiers représente une configuration de montage persistante plutôt qu’un raccourci vers un nom de périphérique.

3. Mettez Nextcloud en mode maintenance et copiez les données.

Le mode maintenance bloque les connexions mais n'interrompt pas toutes les tâches planifiées. Mettez en pause la tâche cron de Nextcloud ou son minuteur systemd, arrêtez les clients de synchronisation et les services web/PHP avant la copie afin d'éviter toute modification de fichiers pendant le transfert.

sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --on

Une fois le planificateur désactivé et les services web/PHP arrêtés, copiez le répertoire de données en tant que root afin de préserver la propriété, les permissions, les ACL et les fichiers cachés :

sudo mkdir -p /srv/nextcloud-disk/data
sudo rsync -Aavx --numeric-ids /var/www/nextcloud/data/ /srv/nextcloud-disk/data/

La barre oblique finale permet de copier le contenu du répertoire. Conservez l'ancienne copie ; vérifiez rsyncl'absence d'erreurs et assurez-vous que le contenu .ncdataest bien présent à la racine du nouveau répertoire.

Une fenêtre de terminal sombre affichant une commande de copie de fichier avec des barres de progression.
Illustration : une vue de copie terminale représente le transfert de l’intégralité du répertoire de données pendant que Nextcloud est arrêté.

4. Conservez l'ancien chemin avec un lien symbolique

Le manuel de dépannage de Nextcloud recommande de créer un lien symbolique entre le chemin d'origine et le nouveau répertoire. Après avoir vérifié la copie, renommez l'ancien répertoire pour la restauration et créez le lien :

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.pre-move
sudo ln -s /srv/nextcloud-disk/data /var/www/nextcloud/data
readlink -f /var/www/nextcloud/data

Vérifiez que le chemin d'accès est correct /srv/nextcloud-disk/data. L'utilisateur web doit parcourir les répertoires parents et lire .ncdataet écrire sur la cible :

sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data

En cas d'échec de la vérification, corrigez les droits d'accès ou les permissions du répertoire parent de votre utilisateur web ; ne rendez pas le répertoire accessible en écriture à tous. Certains serveurs web exigent l'autorisation des liens symboliques. Si cela n'est pas possible, n'effectuez aucune modification oc_storagesmanuelle : Nextcloud considère cette méthode comme non prise en charge et avertit qu'elle peut endommager la base de données.

Un terminal avec les commandes de déplacement et de création de liens symboliques, suivi d'une ligne d'inspection de chemin
Illustration : la vue du terminal montre que le chemin d’accès aux données d’origine est lié au répertoire du disque externe.

5. Redémarrez et vérifiez avant de supprimer la copie de restauration.

Démarrez l'application web/PHP et réactivez le planificateur. Vérifiez le montage et le lien symbolique, puis désactivez le mode maintenance.

findmnt /srv/nextcloud-disk
sudo -E -u www-data php /var/www/nextcloud/occ status
sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Connectez-vous, ouvrez les fichiers et partages existants, puis téléchargez/chargez un petit fichier. Consultez les journaux de Nextcloud et du serveur web, puis redémarrez pendant une fenêtre de maintenance pour vérifier que les disques sont bien montés avant le démarrage de Nextcloud.

Conservez data.pre-movela sauvegarde de la base de données jusqu'au redémarrage et à la réussite de la synchronisation normale. En cas d'échec du déplacement, activez le mode maintenance, arrêtez l'application et restaurez le répertoire et l'état du service d'origine. Une sauvegarde files:scanne peut pas corriger un montage incorrect.

Vérification

Vérifiez que les disques sont montés au démarrage, que le chemin d'accès d'origine y pointe, que l'utilisateur web peut lire et écrire, et que les fichiers existants ainsi qu'un petit chargement fonctionnent. Si Nextcloud signale des fichiers manquants après le redémarrage, arrêtez l'application et vérifiez le montage avant d'autoriser les écritures.

Références : Guide Nextcloud pour le déplacement du répertoire de données ; Guide du mode de sauvegarde et de maintenance Nextcloud ; Emplacement et propriété du répertoire de données Nextcloud ; Stockage externe Nextcloud en tant que montage secondaire ; Documentation Linux sur le montage des identifiants UUID ; Dépendances de montage systemd .

Laisser un commentaire

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Autorisez les chargements de fichiers plus volumineux via le navigateur Nextcloud en alignant les paramètres PHP, Nginx ou Apache, le stockage temporaire et les délais d'expiration, et vérifiez quelle limite bloque le fichier.

Effacer l'avertissement de mémoire PHP de Nextcloud sur le serveur web

Définissez la limite de mémoire PHP réellement utilisée par Nextcloud, redémarrez le service concerné et confirmez le paramètre de 512 Mo dans la vue d'ensemble de l'administration.

Connectez un compartiment compatible S3 au stockage externe Nextcloud

Montez un compartiment de stockage d'objets compatible dans Nextcloud en utilisant son backend S3, avec le point de terminaison, les informations d'identification, le périmètre d'accès et les étapes de vérification appropriés.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Déplacez en toute sécurité un répertoire de données Nextcloud Linux vers un disque externe en utilisant un montage UUID persistant, le mode maintenance, une copie vérifiée et le lien symbolique du chemin d'origine.

Erreur de base de données Nextcloud après une mise à jour : que vérifier en premier ?

Rétablissez l'accès à Nextcloud après une mise à jour en diagnostiquant les erreurs SQL, en vérifiant la connectivité de la base de données et en terminant en toute sécurité les migrations interrompues.

Réinitialisez un mot de passe d'administrateur Nextcloud perdu avec OCC

Utilisez la commande OCC de Nextcloud pour réinitialiser un mot de passe administrateur depuis l'interface de ligne de commande du serveur, avec des instructions concernant les noms d'utilisateur, les permissions et les fournisseurs d'authentification externes.

Ajoutez l'en-tête HSTS au point de terminaison HTTPS qui héberge Nextcloud.

Éliminez l'avertissement HSTS de Nextcloud en configurant l'en-tête au niveau d'Apache, de NGINX ou de votre proxy TLS, puis vérifiez la réponse HTTPS publique en toute sécurité.

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Identifiez les échecs d'installation de l'App Store comme étant liés à des problèmes de DNS, HTTPS, de proxy, TLS ou de configuration du serveur Nextcloud lui-même.

Maîtrisez les pics d'utilisation du processeur lors de la prévisualisation de Nextcloud grâce à une file d'attente planifiée

Déplacez le traitement des vignettes vers une planification en arrière-plan contrôlée, réduisez les tailles d'aperçu inutilisées et vérifiez la file d'attente sans surcharger votre serveur Nextcloud.

Obtenez Nextcloud Desktop Sync : passez à l’étape suivante, celle du « traitement des fichiers ».

Trouvez le fichier, la règle d'exclusion, le problème de connexion ou l'état de la base de données client qui bloque la synchronisation Nextcloud, puis vérifiez les chargements et les téléchargements en toute sécurité.