On Friday 19 August 2011 11:03:05 am Denis wrote: > de como hacerlo. Podrian poner aca el código fuente de un script que > haga algo como lo que explicaste, que lea un archivo y si encuentra > alguna serie de palabras, etc... envie un correo? > Eso nos ayudaría mucho
corran el script como ./script & pues el script crea un while infinito que no se rompe nunca por lo cual si no ponen el & el sistema no te devolvera el shell ********************* #!/bin/bash #cat clamav.log | grep FOUND$ | awk '{print $8}' #Busca en el archivo clamav.log las entradas relacionadas con virus y # en dependencia del archivo de configuracion, borra los virus # o los mueve a cuarentena #La ventana de informacion requiere el paquete zenity #Crear directorio cuarentena quarantine_dir=/var/lib/clamav/quarantine #Donde leer en busca de virus y donde escribir lo que se hace #log=clamav.log log=/var/log/clamav/clamav.log if [ ! -d $quarantine_dir ]; then mkdir $quarantine_dir chmod 600 $quarantine_dir chown root.root $quarantine_dir fi do_find=1 # mover los virus a cuarentena, de lo contrario se borran quarantine=0 # notificar al usuario # pendiente a programar while [ $do_find -eq 1 ] do #Reviso los logs en busca de virus if [ ! -z `tail -n 1 $log | grep FOUND$ | awk '{print $1}'` ];then #virus encontrado, seleccionar el camino y tomar una accion # si el virus lo detecta clamuko el camino aparece en el campo 8 # si lo detecta clamdscan el camino aparece en el campo 7 # si el virus lo detecta clamscan los logs no reportan nada.. # si en la linea aparece la palabra Clamuko, se lee el campo 8 # de lo contrario se lee el 7 path=`tail -n 1 $log | grep FOUND$ | awk '{print $7}' | cut -d: -f1` if [ $path = Clamuko ]; then #virus detectado por clamuko, leer el campo siguiente path=`tail -n 1 $log | grep FOUND$ | awk '{print $8}' | cut -d: -f1` fi #path=`tail -n 1 $log | grep FOUND$ | awk '{print $8}' | cut -d: -f1` #path=`tail -n 1 $log | grep FOUND$ | awk '{print $7}' | cut -d: -f1` #notificar al usuario y pedir una accion (pendiente) if [ $quarantine -eq 1 ]; then mv $path $quarantine_dir #Encriptar el archivo en cuarentena echo "`date`: -> El fichero $path se movio al directorio de cuarentena" >> $log #/usr/bin/zenity --warning --title="Clamuko" --text="El fichero $path se movio a cuarentena porque tiene virus!" & echo "$path 1"> /tmp/alert.clamav else #borrar virus, no se selecciono mover a cuarentena rm -f $path echo "`date`: -> El fichero $path fue borrado porque tenia un virus" >> $log #/usr/bin/zenity --warning --title="Clamuko" --text="El fichero $path sera borrado porque tiene virus!" & echo "$path 0" > /tmp/dazuko/alert.clamav chmod 666 /tmp/dazuko/alert.clamav fi #else # echo "sin virus" fi #tail -n 1 $log | grep FOUND$ | awk '{print $8}' sleep 0.2 done exit 0 -- Salu2 ________________________ Ulinx Administrador de redes Ministerio de Finanzas y Precios Linux user 366775 "En un problema con n ecuaciones siempre habrá al menos n+1 incógnitas." ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l