Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer les fichiers vieux de plus d'une heure

2 réponses
Avatar
Guytou
Bonjour à Tous,

J'utilise un traitement Unix qui tourne chaque 3 minutes et génère beaucoup
de fichiers logs.
J'aimerai seulement garder les logs vieux de moins d'une heure et supprimer
les autres.
La commande find avec l'option mtime fait de recherche en nombre de jour.
J'ai donc divisé le jour par 24 pour avoir l'heure. Mais mon script ne
marche pas.

Voici mon script:

#!bin/ksh
find . -mtime +1/24 -name '*.log' -print -exec rm \;
CR=$?
if [ $CR -ne 0]
echo "Problème avec find ou rm des fichiers vieux de plus d'une heure"

exit $CR
else
echo "Les fichiers log vieux de plus d'une heure sont supprimés"
fi

exit 0
Ce script ne marche pas. Qui peux me le corriger?

J'aimerai savoir comment utiliser "find -mtime" avec les heures et non pas
les jours.
Si c'est pas possible avec find de supprimer les fichiers vieux de plus
d'une heure,
peut-on le faire avec une autre commande UNIX? Laquelle et surtout comment
s'y prendre?

Par avance merci

Cordialement

GUYTOU

2 réponses

Avatar
Stephane Chazelas
Le find de GNU ou de certains BSDs a -mmin +60

Avec zsh **/*(Dmh+1)

Sinon, la technique est de creer un fichier vieux d'une heure et
d'utiliser find -older

TZ=UTC0 touch -t "$(TZ=UTC1 date +%Y%m%d%H%M.%S)" blah
find . -older blah ...

--
Stéphane
Avatar
Guytou
Merci pour votre aide

"Stephane Chazelas" a écrit dans le message de
news:
Le find de GNU ou de certains BSDs a -mmin +60

Avec zsh **/*(Dmh+1)

Sinon, la technique est de creer un fichier vieux d'une heure et
d'utiliser find -older

TZ=UTC0 touch -t "$(TZ=UTC1 date +%Y%m%d%H%M.%S)" blah
find . -older blah ...

--
Stéphane