Accueil
» Comment faire
»
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.
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
Point
Que 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.
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 :
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.
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.
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 :
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.
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 :
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.
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.
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.