#!/bin/bash
##################################################################################
#
# ClamAV_Scan_Script
# Script que ejecuta un escaneo con ClamAV del dir o archivo seleccionado
# Copyright (C) 2010 HacKan
# hackan@hackan.com.ar
# http://www.hackan.com.ar
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##################################################################################
#
# Realiza un escaneo con clamav del directorio pasado como primer parĂ¡metro
# empleando opciones por default
# Se recomienda NO ejecutar con SUDO, el script lo pedirĂ¡ llegado el caso
#
# v1.0
# -- Config -- #
# NO deben estar vacias las siguientes variables
clamuserfolder=".clamav"
logfoldername="logs"
cuarentenafoldername="cuarentena"
logfilename="clamscan-`date +%F_%T`.log"
# -- -- #
# -- Main -- #
userhome="$HOME"
user=`whoami`
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}"
echo "Actualizando base de datos de ClamAV..."
sudo freshclam --quiet
if ( [ -n "${clamuserfolder}" ] && [ -n "${1}" ] && ( [ -d "${1}" ] || [ -e "${1}" ] ) ); then
if [ ! -d "${userhome}/${clamuserfolder}/${logfoldername}" ]; then
mkdir -p "${userhome}/${clamuserfolder}/${logfoldername}"
fi
if [ ! -d "${userhome}/${clamuserfolder}/${cuarentenafoldername}" ]; then
mkdir -p "${userhome}/${clamuserfolder}/${cuarentenafoldername}"
fi
echo "Iniciando escaneo de ${1} con ClamAV..."
echo
# Pueden borrar el sudo de la siguiente linea sin inconvenientes
sudo clamscan --infected --log="${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" --recursive=yes --detect-pua=yes --detect-broken=yes --move="${userhome}/${clamuserfolder}/${cuarentenafoldername}" ${1}
scan_result=$?
echo
if [ ${scan_result} -ne 0 ]; then
echo "ClamAV devolvio un error; revisar parametros de escaneo"
echo "ClamAV devolvio un error; revisar parametros de escaneo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
else
echo "ClamAV ha finalizado correctamente"
echo "ClamAV ha finalizado correctamente" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
fi
exit ${scan_result}
else
echo "No se ha seleccionado directorio de trabajo"
echo "No se ha seleccionado directorio de trabajo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}"
exit 1
fi
# -- -- #