How to Clean Up Nextcloud Deleted Files Trashbin Automatically

Nextcloud already includes the pieces needed to clean up deleted files automatically, so most administrators do not need a custom shell script. As of the current Nextcloud 35 administration documentation, the recommended approach is still to combine a defined trash-bin retention policy with reliable background-job execution. The important detail is that the default auto policy is not the same as “delete everything after exactly 30 days.” It keeps deleted items for at least 30 days, then makes them eligible for cleanup when space is needed.

If your goal is predictable cleanup, set an explicit maximum retention age and make sure Nextcloud background jobs run through system cron. The steps below use only behavior documented by Nextcloud and also explain when the occ trashbin:expire and trashbin:cleanup commands are appropriate.

What automatic trash-bin cleanup actually does

When the Deleted files app (files_trashbin) is enabled, files removed by users are moved to their trash bins instead of being deleted immediately. That gives users a recovery window, but those deleted items still consume storage. Nextcloud controls their lifetime with the trashbin_retention_obligation setting in config/config.php.

The current Nextcloud trash-bin configuration documentation defines these policy forms:

SettingMeaningGood fit
autoKeep items for at least 30 days; after that, remove eligible items when space is needed.Small installations that are comfortable with the default behavior.
D, autoKeep items for at least D days, then allow space-driven cleanup.You need a minimum recovery window but no firm deletion deadline.
auto, DGuarantee deletion after D days, while still allowing earlier space-driven cleanup.You want a maximum retention age but can tolerate earlier deletion when storage pressure occurs.
D1, D2Keep items for at least D1 days and delete them when they exceed D2 days.You need both a minimum recovery period and a firm maximum retention age.
disabledDisable automatic trash-bin expiration.Only when indefinite retention is intentional and storage growth is managed another way.

There is one more storage rule to keep in mind: if a user's quota is exceeded because of deleted files, Nextcloud may ignore the retention setting and clean up trash until quota requirements are met. That is why retention should not be treated as an immutable backup guarantee.

Step 1: Choose a retention policy before changing anything

Decide what the trash bin is for in your environment. If users commonly restore accidentally deleted files, give them a meaningful minimum window. If your priority is bounded storage or a documented data-retention policy, define a maximum as well.

Par exemple, ce paramètre autorise le nettoyage de l'espace à tout moment, mais garantit la suppression des fichiers datant de plus de 30 jours :

'trashbin_retention_obligation' => 'auto, 30',

Si vous souhaitez que les fichiers supprimés soient conservés pendant au moins 30 jours et également supprimés après 30 jours, utilisez plutôt une stratégie limitée :

'trashbin_retention_obligation' => '30, 30',

Choisissez des valeurs adaptées à vos besoins de récupération. Une période plus courte permet de libérer de l'espace de stockage plus rapidement, mais réduit le temps de restauration des fichiers. Une période plus longue offre un temps de récupération plus important, mais peut augmenter l'utilisation du disque.

Étape 2 : Définir trashbin_retention_obligation dans config.php

Ouvrez le fichier de configuration de Nextcloud, généralement situé config/config.phpdans le répertoire d'installation. Ajoutez ou modifiez le paramètre dans le $CONFIGtableau. Voici un exemple typique :

<?php
$CONFIG = array (
  // Other Nextcloud settings...
  'trashbin_retention_obligation' => 'auto, 30',
);

Ne modifiez pas les valeurs non pertinentes et veillez à ne pas divulguer le contenu des config.phptickets ou des captures d'écran, car il peut contenir des informations sensibles concernant la configuration du serveur.

Vous pouvez également examiner la configuration effective via les outils en ligne de commande de Nextcloud plutôt que de copier le contenu du fichier dans un message de dépannage.

Étape 3 : Utiliser cron système pour des tâches d’arrière-plan fiables

La politique de rétention n'est utile que si les tâches en arrière-plan de Nextcloud sont effectivement exécutées. La documentation de Nextcloud relative aux tâches en arrière-plan recommande l'utilisation de cron (gestionnaire de tâches système) pour les instances de production. AJAX est le mode par défaut, mais il dépend du nombre de visites et constitue l'option la moins fiable.

Sur une installation Linux classique utilisant le www-datacompte serveur web, modifiez le crontab de ce compte :

crontab -u www-data -e

Ensuite, exécutez Nextcloud cron.phptoutes les cinq minutes :

*/5 * * * * php -f /var/www/nextcloud/cron.php

Remplacez /var/www/nextcloudpar le chemin d'accès réel à votre installation. Certains systèmes nécessitent le chemin d'accès complet à l'interface de ligne de commande PHP, par exemple/usr/bin/php : .

Vous pouvez également sélectionner explicitement le mode cron avec :

sudo -E -u www-data php /var/www/nextcloud/occ background:cron

Nextcloud indique que la tâche d'arrière-plan de vidage de la corbeille s'exécute toutes les 30 minutes. Un appel cron.phptoutes les cinq minutes ne signifie pas que la corbeille est vidée toutes les cinq minutes ; cela signifie que le planificateur a régulièrement l'occasion d'exécuter les tâches qui arrivent à échéance.

Étape 4 : Vérifier que le planificateur fonctionne

Après avoir configuré cron, vérifiez d'abord l'entrée du système d'exploitation :

crontab -u www-data -l

Vérifiez ensuite l'état des tâches en arrière-plan dans les paramètres d'administration de Nextcloud. La page devrait indiquer que des tâches ont été exécutées récemment. Si la date de dernière exécution affichée est de plus en plus ancienne, corrigez la configuration cron avant d'analyser la politique de rétention.

Sur Nextcloud 35, la documentation occdes commandes inclut également des commandes d'inspection des tâches en arrière-plan telles que background-job:list`cron`, background-job:running`cron` et background-job:history`cron`. Celles-ci peuvent s'avérer utiles pour vérifier que les tâches sont bien en cours de traitement, plutôt que de simplement supposer que cron est actif.

Étape 5 : Utilisez trashbin:expire pour les exécutions manuelles basées sur des règles

Si vous avez configuré une période de rétention personnalisée, vous pouvez appliquer manuellement cette politique avec :

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:expire

La documentation actuelle de Nextcloud concernant les commandes de fichiers et de corbeille signale une limitation importante : trashbin:expirel’expiration manuelle n’est effectuée que lorsqu’une période de rétention personnalisée est configurée. Avec la autopolitique par défaut, la commande se termine par un message d’information sans rien faire, car l’expiration automatique est gérée par une tâche en arrière-plan.

Si vous souhaitez délibérément une entrée cron système distincte pour trashbin:expire, Nextcloud documente une méthode pour désactiver d'abord la tâche d'arrière-plan intégrée de l'application qui gère l'expiration de la corbeille :

sudo -E -u www-data php /var/www/nextcloud/occ config:app:set --value=no files_trashbin background_job_expire_trash

Vous pouvez ensuite programmer vous-même les tâches. Il s'agit d'une option avancée. Pour la plupart des installations, il est plus simple et plus facile à gérer occ trashbin:expire --quietde laisser la tâche d'expiration intégrée activée et d'utiliser le planificateur standard de Nextcloud .cron.php

Ne confondez pas trashbin:expire avec trashbin:cleanup

Les noms sont similaires, mais les commandes ont des effets très différents. trashbin:expiresupprime les éléments qui répondent aux critères de la politique de rétention configurée. trashbin:cleanupsupprime définitivement le contenu de la corbeille pour les utilisateurs spécifiés.

Par exemple:

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:cleanup --all-users

Il s'agit d'une purge destructive qui s'applique à tous les utilisateurs. Elle est utile lorsque vous devez vider la corbeille de chaque utilisateur, mais elle est généralement inadaptée à l'automatisation régulière basée sur la rétention des fichiers, car elle ignore la fenêtre de récupération que vous avez définie. N'intégrez pas de commande de nettoyage pour tous les utilisateurs dans cron, sauf si une purge permanente et inconditionnelle fait partie intégrante de votre politique.

Étape 6 : Vérifier et contrôler la taille de la corbeille sur Nextcloud 35

La documentation actuelle des commandes de Nextcloud 35 inclut trashbin:sizeune commande permettant aux administrateurs de consulter ou de définir la taille cible de la corbeille, globalement ou par utilisateur. Pour afficher la valeur globale actuelle :

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:size

Pour afficher la cible effective d'un utilisateur spécifique :

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:size --user USER_ID

Une taille cible configurable peut compléter la conservation basée sur l'âge lorsque la capacité de stockage est la principale préoccupation. Nextcloud indique que la modification de la taille par défaut globale entraîne immédiatement le nettoyage des corbeilles existantes ; il convient donc de considérer les modifications de taille comme une action opérationnelle et non comme un simple paramètre d'affichage.

Comment savoir si le nettoyage automatique fonctionne ?

  • L'état des tâches en arrière-plan affiche les exécutions récentes.
  • Le fichier crontab du système d'exploitation contient l' cron.phpentrée attendue.
  • Votre configuration trashbin_retention_obligationcorrespond à la politique que vous aviez prévue.
  • Les anciens éléments de la corbeille disparaissent progressivement en fonction de la durée de vie maximale configurée, si elle existe.
  • trashbin:expirese comporte comme indiqué dans la documentation lorsqu'une stratégie personnalisée est configurée.
  • L'utilisation du disque ou du quota cesse d'augmenter de manière inattendue car les fichiers supprimés obsolètes ne sont plus conservés indéfiniment.

Si des fichiers anciens restent en mémoire plus longtemps que prévu, vérifiez d'abord que votre politique de suppression inclut bien une durée maximale. Le autoparamètre par défaut ne garantit pas la suppression au bout de 30 jours. Ensuite, examinez les tâches en arrière-plan. Ce n'est qu'après ces vérifications que vous pourrez analyser les autorisations, les systèmes de stockage ou les journaux d'application.

Une configuration pratique pour la plupart des serveurs auto-hébergés

Pour une instance auto-hébergée classique, il est judicieux de commencer par configurer une tâche cron système toutes les cinq minutes et de définir une durée de conservation maximale explicite pour la corbeille. Par exemple, 'auto, 30'cela permet aux utilisateurs de conserver les fichiers pendant environ un mois dans des conditions normales, tout en évitant qu'ils ne restent indéfiniment. Si les utilisateurs doivent impérativement bénéficier de la totalité de la fenêtre de récupération, quelle que soit la pression sur l'espace de stockage, il est préférable d'utiliser une politique de durée de conservation minimale et maximale '30, 30'.

Conservez vos sauvegardes séparément de la corbeille. La corbeille est une fonctionnalité de récupération utilisateur avec des quotas et une durée de conservation ; elle ne remplace pas une stratégie de sauvegarde indépendante.

Références officielles de Nextcloud

Laisser un commentaire

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Comparez 10 outils de balayage ping pour une découverte rapide du réseau local, une analyse multiplateforme et la gestion des adresses IP. Découvrez ce qu'un balayage peut – et ne peut pas – vous révéler.

6 outils de gestion de réseau performants pour le suivi des performances

6 outils de gestion de réseau performants pour le suivi des performances

Comparez six outils de gestion de réseau pour la surveillance des performances, notamment la couverture SNMP, la cartographie, les alertes, les modèles de déploiement et les compromis en matière de coûts.

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Comparez sept moniteurs de ping gratuits et open source, allant des suites réseau complètes aux sondes de latence ciblées, et choisissez celui qui convient le mieux à vos besoins en matière de disponibilité, de perte de paquets et d'historique.

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Comparez les meilleurs analyseurs Wi-Fi pour Windows, iPhone et Android, incluant des outils pour la congestion des canaux, la couverture du signal, les cartes thermiques et le dépannage réseau.

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

Découvrez ce que signifie la QoS dans le domaine des réseaux, comment les marquages ​​DSCP et les files d'attente de trafic priorisent la voix, la vidéo et les applications professionnelles, et ce que la QoS ne peut pas corriger.

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Comparez les logiciels serveurs SFTP fiables pour Windows et Linux, notamment OpenSSH, Bitvise, SolarWinds et SFTPGo. Trouvez la solution idéale pour vos besoins en matière de sécurité et de transfert de fichiers.

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Comparez sept outils de gestion d'adresses IP pour la découverte de sous-réseaux, la coordination DNS et DHCP, l'inventaire réseau et l'IPAM open source.

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Mettez en place une surveillance réseau pratique avec une couverture claire des périphériques, des indicateurs de performance utiles, des alertes exploitables et une comparaison de SolarWinds NPM, PRTG et OpManager.

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Comparez les outils d'analyse réseau pour la découverte rapide des périphériques, les analyses IP multiplateformes et la gestion des identités et des accès IP (IPAM) d'entreprise, avec des conseils pour adapter chaque option à votre réseau.

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Utilisez l'option --traceroute de Nmap pour associer les sauts à un hôte autorisé, comprendre les résultats des sauts et du RTT, et résoudre les problèmes de réponses manquantes sans sur-analyse.