Le 23/07/15 à 11:39, (•‿•) Dhénin Jean-Jacques <dhe...@gmail.com> a écrit :
(DJJ> $ more Vazy (DJJ> find . -newer Fantome -type d | egrep -v '^\.$' (DJJ> touch Fantome (DJJ> (DJJ> -------- (DJJ> (DJJ> Le fichier Fantome sert de sentinelle. (DJJ> Si un répertoire a été créé find le signale (DJJ> et de toute façon la sentinelle se repositionne à une date plus recente. Ça me parait une meilleure solution que de faire des diff sur des listes de dossiers à des dates différentes Ce que Jean-Jacques propose, c'est de lancer un script +/- régulièrement, qui sort tous les dossiers créés depuis le dernier lancement. Il utilise le fichier "Fantome" comme mémoire du dernier lancement (sa date de modification) Dans un script plus complet, ça donnerait qqchose comme # le nom du fichier dont la date de modif correspond au dernier lancement # qui pourrait être aussi /tmp/$(basename $0).last (si ce fichier s'appelle toto.sh ça # vaudra /tmp/toto.sh.last, mais ça peut être n'importe quel fichier, pourvu que personne # d'autre n'y touche fichierTest=Fantome # différentes manières de virer le dossier . #find . -newer $fichierTest -type d | grep -v '^.$'i #find . -newer $fichierTest -type d | egrep -v '^\.$' #find . -type d -name '??*' # seulement les dossiers de plus de 1 caractère # mais si on veut virer le ./ de chaque fichier autant demander à sed # /^\.$/ pour désigner "." # d pour l'effacer # s@^\./@@ pour remplacer ./ par rien # (@ est un caractère arbitraire, pas / pour éviter de l'échapper avec /^\.\///) find . -newer $fichierTest -type d | sed -e '/^\.$/d; s@^\./@@' | while read dossier do # ici le script qui traite les dossier 1 par 1 avec $dossier done # Et si c'est juste pour envoyer la liste par mail sujet="nouveaux dossier créés depuis $(date -r Fantome '+%F %T')" dest=t...@domaine.tld find . -newer $fichierTest -type d | sed -e '/^\.$/d; s/^\.\///' | mail -s "$sujet" $dest # Pour éviter les mails vides on stocke dans une chaine liste=$(find . -newer $fichierTest -type d | sed -e '/^\.$/d; s/^\.\///') # on envoie si elle n'est pas vide [ -n "$liste" ] && echo "$liste"|mail -s "$sujet" $dest # à la fin on reset la date de modif du fichier Fantome touch $fichierTest # pour éviter d'oublier un dossier qui serait créé pendant le traitement de résultat du find # il faudrait mémoriser la date du fichier au début (man touch pour le format dont on aura # besoin) lancement=$(date '+%Y%m%d%H%M.%S') # lancer find et traitement # mettre la date du début du lancement de ce script touch -t $lancement $fichierTest Et ensuite lancer de script au rythme où on veut être prévenu -- Daniel Il faut toute une vie pour apprendre à vivre. Sénèque. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/20150724141021.7df33...@quad.lairdutemps.org