GNU/Linux >> Tutoriels Linux >  >> Linux

Recherche de fichiers de plus de x jours sur un système avec une busybox dépouillée

-mtime est un prédicat standard de find (contrairement à -delete ) mais il semble que vous ayez une version allégée de busybox , où le FEATURE_FIND_MTIME la fonctionnalité a été désactivée au moment de la construction.

Si vous pouvez reconstruire la busybox en l'activant, vous devriez pouvoir faire :

find . -mtime +6 -type f -exec rm -f {} +

Ou si FEATURE_FIND_DELETE est également activé :

find . -mtime +6 -type f -delete

Sinon, d'autres options pourraient être d'utiliser find -newer (en supposant FEATURE_FIND_NEWER est activé) sur un fichier défini pour avoir une date de modification d'une semaine.

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -newer ../ref -exec rm -f {} +

Ou si -newer n'est pas disponible mais sh est [ prend en charge -nt :

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -exec sh -c '
    for f do
      [ "$f" -nt ../ref ] || printf "%s\0" "$f"
    done' sh {} + |
    xargs -0 rm -f

À partir de man find :

-atime n

Le fichier a été consulté pour la dernière fois il y a n*24 heures. Lorsque find calcule combien de périodes de 24 heures le fichier a été consulté pour la dernière fois, toute partie fractionnaire est ignorée, donc pour correspondre à -atime +1, un fichier doit avoir été consulté il y a au moins deux jours.

-ctime n

L'état du fichier a été modifié pour la dernière fois il y a n*24 heures. Consultez les commentaires pour -atime pour comprendre comment l'arrondi affecte l'interprétation des heures de changement de statut de fichier.

Selon les cas d'utilisation des fichiers que vous souhaitez supprimer, ce sont vos seules autres options pour find . Pourquoi mtime indisponible? Quel système de fichiers utilisez-vous ? Avez-vous exploré d'autres options ?


Linux
  1. Comment supprimer tous les fichiers antérieurs à X nombre de jours sous Linux ?

  2. Pourquoi Find -mtime +1 ne renvoie-t-il que les fichiers de plus de 2 jours ?

  3. Comment supprimer des fichiers de plus de N jours à l'aide de tmpreaper sous Linux

  4. Comment créer un fichier tar pour des fichiers de plus de 7 jours à l'aide de scripts shell Linux

  5. Trouver tous les fichiers de plus d'une minute

Retrouver les fichiers perdus avec Scalpel

Comment supprimer des fichiers plus anciens que les jours spécifiés sous Linux

rechercher et supprimer un fichier ou un dossier de plus de x jours

Comment supprimez-vous les fichiers antérieurs à une date spécifique sous Linux ?

Script bash pour supprimer les fichiers de plus de x jours avec des sous-répertoires

trouver des fichiers avec des listes de contrôle d'accès définies