Want more features on Pastebin? Sign Up, it's FREE!
Guest

ClamAV_Scan_Script

By: a guest on Nov 29th, 2010  |  syntax: Bash  |  size: 3.11 KB  |  views: 188  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/bin/bash
  2. ##################################################################################
  3. #
  4. #  ClamAV_Scan_Script
  5. #       Script que ejecuta un escaneo con ClamAV del dir o archivo seleccionado
  6. #  Copyright (C) 2010 HacKan
  7. #       hackan@hackan.com.ar
  8. #       http://www.hackan.com.ar
  9. #
  10. #  This program is free software: you can redistribute it and/or modify
  11. #  it under the terms of the GNU General Public License as published by
  12. #  the Free Software Foundation, either version 3 of the License, or
  13. #  (at your option) any later version.
  14. #
  15. #  This program is distributed in the hope that it will be useful,
  16. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. #  GNU General Public License for more details.
  19. #
  20. #  You should have received a copy of the GNU General Public License
  21. #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  22. #
  23. ##################################################################################
  24. #
  25. # Realiza un escaneo con clamav del directorio pasado como primer parámetro
  26. # empleando opciones por default
  27. # Se recomienda NO ejecutar con SUDO, el script lo pedirá llegado el caso
  28. #
  29. # v1.0
  30.  
  31. # -- Config -- #
  32. # NO deben estar vacias las siguientes variables
  33. clamuserfolder=".clamav"
  34. logfoldername="logs"
  35. cuarentenafoldername="cuarentena"
  36. logfilename="clamscan-`date +%F_%T`.log"
  37. # -- -- #
  38.  
  39. # -- Main -- #
  40. userhome="$HOME"
  41. user=`whoami`
  42.  
  43. echo "ClamAV scan script by HacKan & CuBa co. - Iniciado el dia `date` por el usuario ${user} - Guardado como \"${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}\"" > "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  44.  
  45. echo "Actualizando base de datos de ClamAV..."
  46. sudo freshclam --quiet
  47.  
  48. if ( [ -n "${clamuserfolder}" ] && [ -n "${1}" ] && ( [ -d "${1}" ] || [ -e "${1}" ] ) ); then
  49.         if [ ! -d "${userhome}/${clamuserfolder}/${logfoldername}" ]; then
  50.                 mkdir -p "${userhome}/${clamuserfolder}/${logfoldername}"
  51.         fi
  52.  
  53.         if [ ! -d "${userhome}/${clamuserfolder}/${cuarentenafoldername}" ]; then
  54.                 mkdir -p "${userhome}/${clamuserfolder}/${cuarentenafoldername}"
  55.         fi
  56.        
  57.         echo "Iniciando escaneo de ${1} con ClamAV..."
  58.  
  59.         echo
  60. #       Pueden borrar el sudo de la siguiente linea sin inconvenientes
  61.         sudo clamscan --infected --log="${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" --recursive=yes --detect-pua=yes --detect-broken=yes --move="${userhome}/${clamuserfolder}/${cuarentenafoldername}" ${1}
  62.         scan_result=$?
  63.         echo
  64.  
  65.         if [ ${scan_result} -ne 0 ]; then
  66.                 echo "ClamAV devolvio un error; revisar parametros de escaneo"
  67.                 echo "ClamAV devolvio un error; revisar parametros de escaneo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  68.         else
  69.                 echo "ClamAV ha finalizado correctamente"
  70.                 echo "ClamAV ha finalizado correctamente" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  71.         fi
  72.         exit ${scan_result}
  73. else
  74.         echo "No se ha seleccionado directorio de trabajo"
  75.         echo "No se ha seleccionado directorio de trabajo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  76.         exit 1
  77. fi
  78. # -- -- #
clone this paste RAW Paste Data