Accueil
» Comment faire
»
Définir une politique d'expiration fiable pour les fichiers supprimés de Nextcloud
Définir une politique d'expiration fiable pour les fichiers supprimés de Nextcloud
Pour vider automatiquement la corbeille de Nextcloud, définissez une durée de conservation maximale et assurez-vous que les tâches en arrière-plan de Nextcloud s'exécutent régulièrement. Par exemple, configurez trashbin_retention_obligationla auto, 30suppression automatique des éléments de plus de 30 jours, puis exécutez la tâche cron système recommandée par Nextcloud toutes les cinq minutes. La autopolitique par défaut ne garantit pas la suppression immédiate au bout de 30 jours.
La suppression automatique est définitive. Choisissez une durée de conservation qui laisse aux utilisateurs le temps de corriger leurs erreurs et conservez des sauvegardes de tout élément qui doit rester récupérable après sa suppression de la corbeille.
Qu'est-ce que Nextcloud nettoie par défaut ?
La documentation d'administration de Nextcloud 35 indique autoque les éléments supprimés sont conservés pendant au moins 30 jours, puis peuvent être supprimés si de l'espace de stockage est nécessaire. Si l'espace n'est pas requis, les éléments peuvent rester au-delà de 30 jours. Ce comportement fait de la corbeille une zone de récupération, et non un simple délai de suppression de 30 jours.
Valeur de la police
Ce que cela signifie
Utilisez-le lorsque
auto
Conservez les objets pendant au moins 30 jours ; retirez-les ensuite si vous avez besoin de place.
Vous souhaitez la fenêtre de récupération par défaut et le nettoyage basé sur l'espace.
auto, 30
Les éléments datant de plus de 30 jours sont automatiquement supprimés ; ils peuvent également être supprimés plus tôt si de l'espace est nécessaire.
Vous souhaitez un âge maximum de 30 jours.
30, 90
Conservez les éléments pendant au moins 30 jours et supprimez-les après 90 jours.
Vous souhaitez une fenêtre de récupération ainsi qu'une limite supérieure de rétention.
disabled
Ne pas vider automatiquement la poubelle.
Vous disposez d'une procédure de conservation distincte et vous souhaitez conserver les éléments supprimés.
La conservation des données n'est pas absolue si le quota d'un utilisateur est dépassé en raison d'éléments supprimés : Nextcloud peut ignorer la politique configurée et supprimer les éléments jusqu'à ce que le quota soit atteint. Consultez la documentation relative à la conservation des données de la corbeille avant d'appliquer une politique aux comptes soumis à des contraintes de quota.
Définir une durée de conservation maximale pour les fichiers supprimés
Exécutez la commande occdepuis le répertoire d'installation de Nextcloud en tant qu'utilisateur HTTP afin de conserver les mêmes permissions de fichiers. Sous Debian ou Ubuntu, cet utilisateur est généralement « npmwww-data » et le chemin d'installation est souvent « / /var/www/nextcloudetc/nextcloud ». Remplacez ces informations par votre utilisateur et votre chemin réels sur d'autres systèmes ou dans des conteneurs.
Le résultat devrait afficher auto, 30« . ». Si vous préférez une autre politique, reportez-vous au tableau ci-dessus et saisissez la valeur correspondante. Cette 30, 90option vise à conserver les éléments pendant au moins 30 jours et à les supprimer après 90 jours ; le respect des quotas peut toutefois entraîner un nettoyage plus rapide.
Assurez-vous que les tâches en arrière-plan s'exécutent correctement.
Nextcloud gère l'expiration de la corbeille en tâche de fond. Le manuel d'administration indique que cette tâche s'exécute toutes les 30 minutes, mais cela dépend de l'activation du gestionnaire de tâches en arrière-plan de votre installation. Nextcloud recommande l'utilisation de cron (la fonction cron du système d'exploitation) pour les tâches régulières ; son mode AJAX par défaut est moins fiable car les tâches ne s'exécutent que lorsque les utilisateurs consultent le site.
Configurer Nextcloud en mode cron :
sudo -E -u www-data php occ background:cron
Passez Nextcloud en mode cron afin que les tâches planifiées en arrière-plan ne dépendent pas de l'ouverture du site par les utilisateurs.
Modifiez ensuite le crontab de l'utilisateur du serveur web. Sur un hôte Debian ou Ubuntu classique :
sudo crontab -u www-data -e
Ajoutez cette ligne en modifiant le chemin d'accès à l'exécutable PHP ou à Nextcloud si votre installation utilise des emplacements différents :
*/5 * * * * php -f /var/www/nextcloud/cron.php
Planifiez l'exécution de cron.php sous l'utilisateur HTTP. Remplacez le chemin Nextcloud d'exemple par votre chemin d'installation.
Cette planification déclenche le processus d'arrière-plan de Nextcloud toutes les cinq minutes ; chaque tâche conserve sa propre planification. Pour un déploiement conteneurisé, utilisez le service cron ou le worker planifié prévu à cet effet et exécutez-le cron.phpen tant qu'utilisateur web Nextcloud. N'ajoutez pas une seconde tâche sans vous en rendre compte si votre image ou plateforme l'exécute déjà.
Comment tester la date de péremption en toute sécurité ?
Vérifiez d'abord la stratégie et la tâche planifiée. Vérifiez la stratégie avec occ config:system:get trashbin_retention_obligation, puis listez la tâche planifiée :
sudo crontab -u www-data -l
Vérifiez la valeur de rétention enregistrée et confirmez que l'utilisateur du serveur Web dispose de l'entrée cron.php récurrente.
Dans les paramètres d'administration de Nextcloud, vérifiez que les tâches en arrière-plan sont configurées sur Cron et que la date et l'heure de la dernière exécution sont incrémentées. Une fois la durée de conservation maximale configurée écoulée, consultez le dossier « Fichiers supprimés » pour y rechercher un ancien élément de test que vous pouvez supprimer sans risque. La tâche d'expiration s'exécute selon sa planification ; le nettoyage n'est donc pas nécessairement immédiat à la limite exacte de la période de rétention.
Pour un test ponctuel avec une politique de rétention personnalisée, exécutez la commande prenant en compte la rétention :
Sur la version actuelle de Nextcloud, trashbin:expirela période de rétention configurée est appliquée. Avec la autopolitique par défaut, la commande s'arrête sans supprimer les éléments ; l'expiration automatique est gérée par une tâche en arrière-plan. Attentiontrashbin:cleanup --all-users : cette commande supprime définitivement tous les éléments de la corbeille pour chaque utilisateur, quel que soit leur ancienneté, et ne constitue pas un paramètre de rétention standard.
Liste de vérification rapide
La politique active renvoyée occ config:system:get trashbin_retention_obligationcorrespond à votre période de rétention prévue.
Les tâches en arrière-plan de Nextcloud sont configurées sur Cron, et le crontab de l'utilisateur du serveur web inclut le cron.phpchemin correct.
La durée d'exécution de la dernière tâche est avancée dans les paramètres d'administration.
Un élément de test ancien, ayant dépassé la durée de vie maximale, disparaît après l'exécution de la tâche en arrière-plan, tandis que les éléments plus récents restent en place sauf si la pression sur le stockage ou les quotas nécessite un nettoyage.
Si la date et l'heure de la dernière exécution ne sont pas mises à jour, vérifiez la configuration du cron système, le chemin d'accès à l'interface de ligne de commande PHP, l'utilisateur du serveur web et le chemin d'accès à Nextcloud avant de modifier la valeur de rétention. Une politique de conservation correcte ne peut rien supprimer si le processus en arrière-plan ne s'exécute jamais.