[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]que tal linuxeros, Tengo un problema con un shell script. Todo el contexto esta mas o menos asi: en maillog, tengo miles de entradas como la siguiente: sendmail[11871]: g2B1WpE11871: <global en cancun com>... User unknown sendmail[11898]: g2B1XmE11898: <shaman en cancun com>... User unknown sendmail[12035]: g2B1aLE12035: <supervac en cancun com>... User unknown sendmail[12035]: g2B1aLE12035: <suntour en cancun com>... User unknown sendmail[12422]: g2B1kiE12422: <dominos en cancun com>... User unknown sendmail[12849]: g2B1x3E12849: <hhda en cancun com>... User unknown sendmail[13241]: g2B2CUE13241: <jema en cancun com>... User unknown sendmail[13599]: g2B2O0E13599: <ome en cancun com>... User unknown osciosamente, con grep y cut (muy basicamente) logre, primero obtener los id's pasandolos a un archivo, posteriormente, vuelvo a comparar estos id´s contra el maillog, obteniendo nuevamente la ip (from=, relay=) desde donde se hacen estos intentos. Resultando en un nuevo archivo: 64.80.64.172 64.8.208.227 64.83.222.17 65.119.83.34 65.171.144.14 65.171.144.99 65.54.195.212 65.89.250.74 66.0.15.179 66.136.215.113 66.181.128.7 con el siguiente script (que es donde necesito la ayuda :), trato de analizar el archivo que tiene los ip's para ver cuantos son el numero de intentos de encontrar (or whatever) a un usuario en el server desde dichos ip's. ----------- #! /bin/bash # /tmp/violators_ip_all contiene todos los ips que fueron filtrados echo "" > /tmp/violators_insistence # almacena el no. de insistencias por ip echo "" > /tmp/violators_bloqued # genera file p/bloquear c/iptables $ip_violator = 0.0.0.0 $counter = 1 $max_insistence = 5 for i in `cat /tmp/violators_ip_all` do if [$ip_violator -eq $i] then counter = counter + 1 else if [$counter -gt $max_insistence] then echo "$ip_violator, $counter" >> /tmp/violators_insistence echo "$ip_violator ..." # echo "iptables -A -s $ip_violator -d localhost DROP" >> /tmp/violators_bloqued echo "aqui van los iptables ..." else counter = 1 ip_violator = "$i" fi fi done ----------- al correr el script me manda el siguiente error: aqui van los iptables ... ./spammers_insistence: [: missing `]' ... aqui van los iptables ... ./spammers_insistence: [: missing `]' ... aqui van los iptables ... ./spammers_insistence: [: missing `]' ... Alguna idea?????, la verdad ando perdido en bash programming, pero con lo poco que he revisado, no encuentro error. Gracias de antemano. Saludos Marinho.-