[Petit Problème sous Linux]

stena83 -  
mamiemando Messages postés 34242 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'aimerais recevoir un mail chaque jours d'un rapport d'un antivIrus, et si virus trouvé quels fichiers sont infectés.

J'utilise clamav comme antivirus sous Debian sarge et cron pour automatiser la tâche.

la commande pour lancer le scan c'est :
clamscan -r / > fichier_sortie
, ce qui permet de lister tous les fichier s avec virus trouvé ou pas, et à la fin un résumé :

exemple :
/etc/smb.conf :OK
...
/etc/apache/httpd.conf : FOUND
...

--RESUMER DU SCAN ---
scanned Files : 12 0000
infected files : 1
...


donc j'aimerais afficher uniquement les fichiers infectés + le résumé.

clamscan -r / | grep "FOUND" >fichier_sortie


Cela fonctionne mais ne n'affiche pas le résumé.

Comment afficher le résumé+ les fichiers infectés ?

merci
A voir également:

4 réponses

stena83
 
En fait j'ai trouvé

clamscan -r / > /tmp/analyse && cat /tmp/analyse | grep "FOUND" > /tmp/result | (tail /tmp/analyse >>/tmp/result) | (cat /tmp/result | mail MON_MAIL) | (rm -f /tmp/analyse /tmp/result)

Voila, belle commande de ouf

par contre g du mal a pigé la différence entre && et |
0
crabs Messages postés 909 Statut Membre 507
 
salut,

commande_shell1 && commande_shell2
siginifie : exécuter la commande_shell2 si l'exécution de la commande_shell1
n'a pas fourni un status d'erreur.
rappel: pour une commande shell, 0 signifie pas d'erreur, tout autre entier
signifie erreur lors de l'exécution
Dans le même genre y 'a '||' qui permet de lance cmd2 si cmd1 est en erreur :
cmd1 || cmd2

commande_shell1 | commande_shell2
toutes les caractères écrits sur la sortie standard de commande_shell1 sont
envoyés sur l'entrée standard de la commande_ shell2.
D'où l'importance d'envoyer les messages d'erreur sur la sortie d'erreur.

A+, Crabs
0
stena83
 
ok merci de ta reponse, mais alors comment faire un truc du genre :

si commande1 réussi alors
commande2
sinon
commande3
0
mamiemando Messages postés 34242 Date d'inscription   Statut Modérateur Dernière intervention   7 898
 
Fais un script bash (genre plop.sh) avec un if et un else...
http://www.trustonme.net/didactels/148.html

Bonne chance
0