72 votes

Trouver les fichiers -mtime plus anciens qu'une heure

J'ai cette commande que j'exécute actuellement toutes les 24 heures.

find /var/www/html/audio -daystart -maxdepth 1 -mtime +1 -type f -name "*.mp3" -exec rm -f {} \;

Je voudrais l'exécuter toutes les 1 heure et supprimer les fichiers plus anciens d'1 heure. Est-ce correct :

find /var/www/html/audio -daystart -maxdepth 1 -mtime **+0.04** -type f -name "*.mp3" -exec rm -f {} \;

Je ne suis pas sûr de mon utilisation du nombre décimal ??

Merci pour toute correction.

EDIT

OU pourrais-je simplement utiliser -mmin 60? Est-ce correct?

EDIT2

J'ai essayé votre test, heureusement que vous l'avez suggéré. J'ai obtenu un résultat vide. Je veux que tous les fichiers plus ANCIENS que 60 minutes soient supprimés! Comment puis-je faire cela ? Mon commande le fait-il réellement ?

146voto

Sean Bright Points 39480

Qu'en est-il de -mmin?

find /var/www/html/audio -daystart -maxdepth 1 -mmin +59 -type f -name "*.mp3" \
    -exec rm -f {} \;

De man find:

\-mmin n
        Les données du fichier ont été modifiées pour la dernière fois il y a n minutes.

Aussi, assurez-vous de tester ceci d'abord!

... -exec echo rm -f '{}' \\;
          ^^^^ Ajoutez 'echo' pour voir uniquement les commandes qui vont être
               exécutées au lieu de les essayer réellement d'abord.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X