# Find: recevoir 1 mail si et seulement si détection positive

**URL:** <https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679>\
**Category:** Support Debian\
**Created:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679 "2016-02-21T12:24:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![loreleil](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/77aa72/32.png) [@loreleil](https://www.debian-fr.org/u/loreleil)\
**Post date:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/1 "2016-02-21T12:24:44Z")

</div>

Salut,

J’ai mis une nouvelle tâche cron en place.

`00 * * * * date >> /var/log/chercheprocess.log && /usr/bin/chercheprocess >> /var/log/chercheprocess.log
`

Et pour bien faire, j’aimerai réceptionner un mail seulement si il y a une détection positive, à savoir:

`find /var/log/chercheprocess.log -type f | xargs fgrep "1 processus" | mail -s "Détection 1 proccessus caché: voir /var/log/chercheprocess.log" root
`  
Pour le coup, j’ai fossé le log.

`:~# cat /var/log/chercheprocess.log
jeudi 7 juin 2012, 15:26:01 (UTC+0200)
Recherche de processus cach�s F.Boisson Dec2003
.../
1 processus cach�(s) trouv�(s)
`  
À la réception c’est ok!

Extrait de gmail.

[quote]Détection 1 proccessus caché: voir /var/log/chercheprocess.log

1 processus caché(s) trouvé(s)[/quote]  
Mais si je vire ce faux positif que j’ai crée, le mail reçu est vide, page blanche!

J’aimerai bien que cette dernière commande m’envoie un mail (seulement) si find à trouver 1 processus caché.

Manque un truc dans cette commande, et je sais pas comment faire … ![:083](https://www.debian-fr.org/uploads/default/original/1X/d14bbab5e0eb9167fe7ed1d009c5a9b723425957.gif "yeux-ciel")

Réception d’un mail si et seulement si il y a eu la détection d’un process.

---

<div class="post-metadata">

**Author:** ![loreleil](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/77aa72/32.png) [@loreleil](https://www.debian-fr.org/u/loreleil)\
**Post date:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/2 "2016-02-21T12:24:44Z")

</div>

Heeeuu, j’ai oublié un truc.

Cette commande je voudrai la mettre dans mon crontab également.

```auto

```

---

<div class="post-metadata">

**Author:** ![loreleil](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/77aa72/32.png) [@loreleil](https://www.debian-fr.org/u/loreleil)\
**Post date:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/3 "2016-02-21T12:24:47Z")

</div>

Salut,

Je reçois deux mails …

[quote]root  
[xxx@gmail.com](mailto:xxx@gmail.com) 7 juin 2012 19:29  
À : root [/quote]  
Ce premier est vide, donc sans intérêt.

> [@](#):
>
> Null message body; hope that’s ok

Celui-ci est rassurant, bien sur, mais il serait plus avisé d’avoir réception, que dans le cas d’une détection réelle, quoique … en souhaitant que ceci n’arrive jamais. 😉

---

<div class="post-metadata">

**Author:** ![loreleil](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/77aa72/32.png) [@loreleil](https://www.debian-fr.org/u/loreleil)\
**Post date:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/4 "2016-02-21T12:24:58Z")

</div>

Salut,

[code]00 \* \* \* \* date \>\> /var/log/chercheprocess.log && /usr/bin/chercheprocess \>\> /var/log/chercheprocess.log  
…  
01 \* \* \* \* find /var/log/chercheprocess.log -type f 2\>&1 | xargs fgrep “1 processus”

[/code]

J’obtiens le résultat rechercher.

J’ai coller un cron toutes les minutes, histoire de jongler.

À un temps x, à la mano je modifie le fichier chercheprocess.log. “0 processus” à valeur 1

Je réceptionne un mail ayant pour contenu “1 processus caché(s) trouvé(s)”.

Il y a très certainement plus propre, ou plutôt, adéquate. J’espère … ![:083](https://www.debian-fr.org/uploads/default/original/1X/d14bbab5e0eb9167fe7ed1d009c5a9b723425957.gif "yeux-ciel")

Mais, l’entête reçu ne me plaît pas, le jour ou cette situation se produira, je risque de passer à côté.

Bien trop confus au premier coup d’œil, parmi tant d’autres … 😕

En image.

![](https://www.debian-fr.org/uploads/default/original/2X/9/91ac1b5e01873ea1234c4d59b199627f6e8b9a52.png)

Comment changé cette entête ?

Cette tâche cron va donner vie à d’autres nombreux bébé de ce gabarit, alors …

Un truc me viens au neurone, peut on coloriser ces entêtes ?

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 12:24 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/5 "2016-02-21T12:24:59Z")

</div>

Yo !

Ton find ne sert pas à grand chose puisque tu connais déjà le nom du fichier concerné, il peut facilement être remplacé par un test d’existence du fichier [-r /var/log/chercheprocess.log] (-r vérifie que le fichier existe et qu’il est lisible).  
Du coup en passant à un modèle “if” au lieu de “pipe” c’est beaucoup plus facile :

`if [-r /var/log/chercheprocess.log] && grep -E '[1-9]([0-9]+)? processus' /var/log/chercheprocess.log >/dev/null; then
  echo 'Un ou plusieurs processus caché(s) ont été détectés." | mail -s "Détection processus caché(s) : voir /var/log/chercheprocess.log" root
fi`  
Pour éviter les ennuis tu colles ça dans un script (n’oublie pas le shebang et de le rendre exécutable), et c’est ce script que tu appelleras à partir du cron.  
J’espère juste que j’ai pas fait une boulette, normalement ça devrait être bon mais à cette heure là on sait jamais… ![:030](https://www.debian-fr.org/uploads/default/original/1X/65b1b73704eec538091c0e1d04a633b3840a284f.gif "picole") ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 12:25 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/6 "2016-02-21T12:25:06Z")

</div>

Salut,  
J’utilise aussi ce genre de filtre.

`if grep -q "Erreur" $LOG
then
        mailx -s "Erreur sur Script" admin@domaine.tld < $LOG ;
        exit 1
else
        mailx -s "Succès backup" admin@domaine.tld < $LOG ; # ne mets rien si tu ne veux pas d'alerte
fi`

---

<div class="post-metadata">

**Author:** ![loreleil](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/77aa72/32.png) [@loreleil](https://www.debian-fr.org/u/loreleil)\
**Post date:** [Février 21, 2016, 12:25 UTC](https://www.debian-fr.org/t/find-recevoir-1-mail-si-et-seulement-si-detection-positive/53679/7 "2016-02-21T12:25:18Z")

</div>

Salut,

Syam, tu m’as refilé le virus, 😈[la programmation shell](http://www.siteduzero.com/tutoriel-3-105678-introduction-aux-scripts-shell.html) … depuis le temps que je voulais m’y coller, et ben c’est fait, ch’suis déjà accroc ! 😆

Des idées de scripts (depuis pas mal de mois) j’en ai plein les poches … Alors à cœur vaillant … ![:dance:](https://www.debian-fr.org/uploads/default/original/1X/c5479df83c1e5adae8782ae88416ebec2c474ae1.gif "Dance")

Sinon, Impeccable! ![:023](https://www.debian-fr.org/uploads/default/original/1X/3c587556c0cc11389317c03a60788d77ceebd307.gif "OK")

[code]:~$ bash -x chercheprocess.sh

- ‘[’ -r /var/log/chercheprocess.log ‘]’
- grep -E ‘1-9? processus’ /var/log/chercheprocess.log
- echo ‘Un ou plusieurs processus caché(s) ont été détectés.’
- mail -s ‘Détection processus caché(s) : voir /var/log/chercheprocess.log’ root  
:~$[/code]

Juste une coquille, une erreur de frappe, une simple quote en lieu et place d’une double, c’est tout. Fonctionne du tonnerre! ![:clap:](https://www.debian-fr.org/uploads/default/original/1X/dcfd4d2428519214f79b4b87bcebcb3197047574.gif "Clap")

[quote]:~$ cat /usr/local/bin/chercheprocess.sh  
if [-r /var/log/chercheprocess.log] && grep -E ‘1-9? processus’ /var/log/chercheprocess.log \>/dev/null; then  
echo [size=150]"[/size]Un ou plusieurs processus caché(s) ont été détectés." | mail -s “Détection processus caché(s) : voir /var/log/chercheprocess.log” root  
fi

:~$[/quote]

Connais tu d’autres doc, tuto pour débutant, de cette acabit. En fr serait un plus … 😒

Voilà de quoi occuper mes soirées d’été, l’hiver ne sera pas de trop non plus … ![:005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif "chaud")

Merci à tout deux!
