Guest User

ClamAV_Scan_Script

a guest
Nov 29th, 2010
1,130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.11 KB | None | 0 0
  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. #   http://www.hackan.com.ar
  8. #
  9. #  This program is free software: you can redistribute it and/or modify
  10. #  it under the terms of the GNU General Public License as published by
  11. #  the Free Software Foundation, either version 3 of the License, or
  12. #  (at your option) any later version.
  13. #
  14. #  This program is distributed in the hope that it will be useful,
  15. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. #  GNU General Public License for more details.
  18. #
  19. #  You should have received a copy of the GNU General Public License
  20. #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  21. #
  22. ##################################################################################
  23. #
  24. # Realiza un escaneo con clamav del directorio pasado como primer parĂ¡metro
  25. # empleando opciones por default
  26. # Se recomienda NO ejecutar con SUDO, el script lo pedirĂ¡ llegado el caso
  27. #
  28. # v1.0
  29.  
  30. # -- Config -- #
  31. # NO deben estar vacias las siguientes variables
  32. clamuserfolder=".clamav"
  33. logfoldername="logs"
  34. cuarentenafoldername="cuarentena"
  35. logfilename="clamscan-`date +%F_%T`.log"
  36. # -- -- #
  37.  
  38. # -- Main -- #
  39. userhome="$HOME"
  40. user=`whoami`
  41.  
  42. 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}"
  43.  
  44. echo "Actualizando base de datos de ClamAV..."
  45. sudo freshclam --quiet
  46.  
  47. if ( [ -n "${clamuserfolder}" ] && [ -n "${1}" ] && ( [ -d "${1}" ] || [ -e "${1}" ] ) ); then
  48.     if [ ! -d "${userhome}/${clamuserfolder}/${logfoldername}" ]; then
  49.         mkdir -p "${userhome}/${clamuserfolder}/${logfoldername}"
  50.     fi
  51.  
  52.     if [ ! -d "${userhome}/${clamuserfolder}/${cuarentenafoldername}" ]; then
  53.         mkdir -p "${userhome}/${clamuserfolder}/${cuarentenafoldername}"
  54.     fi
  55.    
  56.     echo "Iniciando escaneo de ${1} con ClamAV..."
  57.  
  58.     echo
  59. #   Pueden borrar el sudo de la siguiente linea sin inconvenientes
  60.     sudo clamscan --infected --log="${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" --recursive=yes --detect-pua=yes --detect-broken=yes --move="${userhome}/${clamuserfolder}/${cuarentenafoldername}" ${1}
  61.     scan_result=$?
  62.     echo
  63.  
  64.     if [ ${scan_result} -ne 0 ]; then
  65.         echo "ClamAV devolvio un error; revisar parametros de escaneo"
  66.         echo "ClamAV devolvio un error; revisar parametros de escaneo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  67.     else
  68.         echo "ClamAV ha finalizado correctamente"
  69.         echo "ClamAV ha finalizado correctamente" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  70.     fi
  71.     exit ${scan_result}
  72. else
  73.     echo "No se ha seleccionado directorio de trabajo"
  74.     echo "No se ha seleccionado directorio de trabajo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
  75.     exit 1
  76. fi
  77. # -- -- #
Advertisement
Add Comment
Please, Sign In to add comment