Par défaut la commande find permet d'avoir la liste des fichiers non modifiés depuis n minutes. On ne peut descendre sous la minute.

On peut faire sauter cette limite en utilisant les commandes touch et date en complément. Voici comment... avec en prime exécution d'une commande sur les fichiers trouvés (optionnel).

NB : penser à renseigner les variables en majuscule. Par exemple :
TOKEN_DELTA=5   (pour 5 secondes)
TOKEN_FILE="/tmp/mon_fichier_timestamp"
MONITORING_ROOT="/home/moi/mon_repertoire_a_surveiller"
COMMAND="/usr/bin/ma_commande_a_executer_pour_les_fichiers_trouves"

 # Creation d'un jeton $TOKEN_DELTA secondes dans le passé
touch -t `date --date "1970-01-01 00:00:00 +0000 + \`echo \\\`date +%s\\\` - $TOKEN_DELTA \
| bc -l\` seconds"
+%g%m%d%H%M.%S` $TOKEN_FILE

# Coeur du programme : recherche dans $MONITORING_ROOT de l'ensemble des fichiers n'ayant pas ete modifies depuis
# $TOKEN_DELTA et execution d'un script $COMMAND pour chaque occurrence
find "$MONITORING_ROOT" -type f ! -newer "$TOKEN_FILE" -exec "$COMMAND" {} \;
Tag(s) : #bash

Partager cet article

Repost 0
Pour être informé des derniers articles, inscrivez vous :