Pessoal,
estou precisando de um shell script para gerar um relatorio atraves do
access_log do squid. O script tem que gerar um relatório diário com os
15 domínios mais acessados em ordem decrescente com sua porcentagem
equivalente em relação ao todo e os 15 IP's que mais navegam em ordem
decres
É muito dificil eu participar de flame em lista, assim sendo vou responder
somente a estas duas colocações e não mais tocar no assunto.
1 - A CPU não vai a 100% pq o while está quase sempre inativo, pois o
processo fica parado na tentativa de gravação no FIFO, atuando como se fosse
um trigger, com
Te ajudar em que ?
Voce não postou nenhuma duvida... simplesmente um pedido (que nem se
parecia com um) de ajuda..
Fazer isso em shellscript não é tão simples (um one-liner por
exemplo), se voce quiser desenvolver isso, comece e tentarEI (digo por
mim) ajudar...
Se não quiser desenvolver, existe o
>estou precisando de um shell script para gerar um relatorio atraves do
>
>access_log do squid. O script tem que gerar um relatório diário com os
>
>15 domínios mais acessados em ordem decrescente com sua porcentagem
>
>equivalente em relação ao todo e os 15 IP's que mais navegam em ordem
>
Eu acho que esse assunto gerou tudo isso por "falha de comunicação" ...
Eu escrevi a duvida por que realmente não conhecia a fundo o
funcionamento da FIFO, e declarei meu "achismo"..
Quando o Felipe respondeu, eu já me dei por satisfeito e entendi a
forma de leitura/escrita na forma que o Julio a
Prezado amigos,
uso o SCO 5.07, em sh, e tenho a seguinte linha de comando:
#cat < /dev/tty1a >> peso
necessito retornar o prompt (#), para poder dar continuidade ao processo,
alguém sabe se há algum comando através de uma script, para eu
interromper o cat??
agradeço
Moisés
-
vc pode deixar em background e enviar um sinal via comando kill para o
PID desse processo.
cat < /dev/tty1a >> peso &
PID=$!
kill -n ${PID}
onde n é o sinal que vc quer. para o ctrl+c é o sinal 2, para acabar
com este processo pode usar o 9 ou 15.
boa sorte
On 6/26/06, Moisés <[EMAIL PROTECTE
Não entendi bem a ideia, mas se for só retornar o prompt, coloca ele
em background
#cat < /dev/tty1a >> peso &
Se for enviar um signal pra ele, tente usar o "trap" ...
$ man 7 signal
Flavio do Carmo Junior aka blk1d
On 6/26/06, Moisés <[EMAIL PROTECTED]> wrote:
> Prezado amigos,
> uso o SCO 5
Boa tarde,
Tenho um script que testa a conexão da ppp0.
WVDIAL=`LANG=LC_ALL= /sbin/ifconfig ppp0 | cut -d : -f 1 | cut -d ' ' -f 1`;
WVDIAL=`echo $WVDIAL`|cut -c 1-4
echo $WVDIAL
if [ $WVDIAL = "ppp0" ];then
echo "NAO É PRECISO RECONECTAR"
else
/etc/rc.d/init.d/testa_conexao.sh restart
fi
Quand
tente assim:
/sbin/ifconfig ppp0 && echo 'conexao ok' || { echo 'conexao nao esta
ok, reiniciando...' ; /etc/rc.d/init.d/testa_conexao.sh restart ; }
se o ppp0 não existe, o ifconfig emite um codigo de erro que vc pode
capturar pela variavel $? ou então usar os operadores && e ||
estes irão exec
Aqui ó:
if [ $WVDIAL = "ppp0" ];then
Voce precisa dar um espaço entre o ; e o then
if [ $WVDIAL = "ppp0" ]; then
Acho que só isso resolve .. sem maiores comentarios sobre o resto do
script, se ta funcionando blz :)
Flavio do Carmo Junior aka blk1d
On 6/26/06, Luis Gustavo <[EMAIL PROTECTED]>
Opa e é "==" e não "=" ...
Nem tinha reparado.. acho que esse é o real erro
On 6/26/06, Flavio Junior <[EMAIL PROTECTED]> wrote:
> Aqui ó:
> if [ $WVDIAL = "ppp0" ];then
>
> Voce precisa dar um espaço entre o ; e o then
>
> if [ $WVDIAL = "ppp0" ]; then
>
> Acho que só isso resolve .. sem ma
Camaradas,
vcs sabem me dizer se o AWK trata de numeros decimais!
pois ao utilizar percebi que executa caluculos somente com numeros inteiros.
Eu gostaria fazer calculos simples
de somatorias e medias,
nao usei o "bc", "$(( ))"
por nao trabalharem com numeros decimais!
achei que o AWK resolveria..
Sim, trabalha
o seu exemplo
awk 'NR != 1{soma2 += $2 ; print soma2,$2 }' temp2.dat
usando o printf (com saida formatada)
awk 'NR != 1{soma2 += $2 ; printf"%f\t%f\n",soma2,$2 }' temp2.dat
o NR != 1 serve para não contabilizar a primeira linha, não possuem dados
On 6/26/06, Ricardo Acosta <[EMAIL
Tiago,
o problema nao resolveu ainda!
atente para a coluna1, os somatórios aparecem como inteiros!
ele nao somou a parte decimal.
tratou os digitos decimais como nao significativos e efetuou a operaçao!
[EMAIL PROTECTED]: slope$ awk 'NR != 1{soma2 += $2 ; print soma2,$2 }' temp2.dat
5 5.883
10 5.
On Mon, 26 Jun 2006 4:12pm -, Julio C. Neves wrote:
> Com esta frase, quero simplesmente dizer que qq coisa é passível de
> travamento, seja por maldade, seja por incompetencia. Absolutamente nada
> pessoal ao Felipe (grande colaborador da nossa lista), falei em latu-sensu.
Provavelmente tu
Camaradas,
dei uma fuçada por aqui
e percebi que usando o GAWK o padrão é efetuar a soma como os numero inteiros!
enqto que ao usar o MAWK as operacoes são efetuadas levando em conta
todos os digitos significativos!
resolvi alterando o link do AWK para o MAWK!
de qualquer forma fica a duvida:
o G
Ola
Vendo as respostas para os scripts awk no seu ambiente, teste isso:
tr '.' ',' < temp2.dat | awk 'NR != 1{soma2 += $2 ; print soma2,$2 }'
Acho que tem haver com localização. afinal por que vc imprime
variaveis do tipo ponto flutuante com virgula ao inves de ponto?
Pense nisso.
On 6/26/06,
On Mon, 26 Jun 2006 11:09pm -0300, Tiago Barcellos Peczenyj wrote:
> Ola
>
> Vendo as respostas para os scripts awk no seu ambiente, teste isso:
>
> tr '.' ',' < temp2.dat | awk 'NR != 1{soma2 += $2 ; print soma2,$2 }'
>
> Acho que tem haver com localização. afinal por que vc imprime
> variav
19 matches
Mail list logo