Caros, tenho o script abaixo:
ARQUIVO_LOG="fire.log"
PROC="Forward-Lan"
Comando()
{
$@ 2> /dev/null
if [ $? != 0 ]
then
echo $PROC ` date "+%d/%m/%Y %H:%M:%S"` $@ >> $ARQUIVO_LOG
RET_COMANDO="ERRO:Comando(s) Invádo(s). Verifique o Log";
fi
}
Comando="/bin/echo"
RET_COMANDO="OK";
for I in `seq 1 255`
do
$Comando iptables -A FORWARD -s 100.100.100.$I -j ACCEPT
$Comando iptables -D FORWARD -s 100.100.100.$I -j ACCEPT
done
E quando o executo dessa forma, ecoando na tela, tenho esse resultado:
# time ./teste.sh
real 0m0.546s
user 0m0.096s
sys 0m0.407s
Se mudo o trecho do for para essa forma:
#Comando="/bin/echo"
RET_COMANDO="OK";
for I in `seq 1 255`
do
Comando iptables -A FORWARD -s 100.100.100.$I -j ACCEPT
Comando iptables -D FORWARD -s 100.100.100.$I -j ACCEPT
done
Obtenho esse resultado:
# time ./teste.sh
real 0m2.513s
user 0m0.307s
sys 0m2.056s
Pergunto, é possível deixá-lo mais performático?
Obrigado.
Adauto Santos