[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] performance
From: |
Paulo Bettega |
Subject: |
Re: [shell-script] performance |
Date: |
Thu, 24 Apr 2014 00:24:26 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
Olá Adauto, se entendi o script, a função Comando é diferente da variável
$Comando.
A variável $Comando é /bin/echo que mostra na tela
as duas linhas, mas não executa o iptables.
A função Comando não mostra na tela, mas sim executa as linhas do iptables,
incluindo a regra e logo depois deletando a mesma regra.
No fim do loop com a função não haverá nenhuma dessas regras no iptables.
Seguindo os exemplos do Julio, os tempos executando a função foram próximos.
Comando ()
{
$@ 2> /dev/null;
if [ $? != 0 ]; then
echo $PROC ` date "+%d/%m/%Y %H:%M:%S"` $@ >> $ARQUIVO_LOG;
RET_COMANDO="ERRO:Comando(s) Invál¡do(s). Verifique o Log";
fi
}
time for ((I=1;I<256;I++)); do
Comando iptables -A FORWARD -s 100.100.100.$I -j ACCEPT
Comando iptables -D FORWARD -s 100.100.100.$I -j ACCEPT
done
real 0m3.255s
user 0m1.083s
sys 0m1.094s
time for I in {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
real 0m3.340s
user 0m1.056s
sys 0m1.107s
time 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
real 0m3.109s
user 0m1.013s
sys 0m1.133s
Abraços Paulo Bettega
On 23-04-2014 17:03, Adauto Santos wrote:
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
Re: [shell-script] performance,
Paulo Bettega <=
Re: [shell-script] performance, Leslie Watter, 2014/04/24
- Re: [shell-script] performance, Adauto Santos, 2014/04/24
- Re: [shell-script] performance, Ernander (Nander), 2014/04/24
- Re: [shell-script] performance, Adauto Santos, 2014/04/24
- Re: [shell-script] performance, Leslie Watter, 2014/04/24
- Re: [shell-script] performance, Julio C. Neves, 2014/04/24
- Re: [shell-script] performance, Adauto Santos, 2014/04/24
- Re: [shell-script] performance, Alfredo Casanova, 2014/04/24
- Re: [shell-script] performance, Alysson Gonçalves de Azevedo, 2014/04/24