[Petit Problème sous Linux]

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

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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 |
    1. 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
      1. ok merci de ta reponse, mais alors comment faire un truc du genre :

        si commande1 réussi alors
        commande2
        sinon
        commande3