Advertisement
Guest User

ClamAV_Scan_Script

a guest
Nov 29th, 2010
1,086
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. #   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. # -- -- #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement