Script me shell [RESOLVIDO]

1. Script me shell [RESOLVIDO]

Su
Dexter25

(usa Debian)

Enviado em 19/03/2010 - 10:43h

Sou nova no mundo linux e estou com uma dúvida.
Tenho que fazer um script em shell para rodar o tcpdump e de 5 em 5 minutos salva-lo em um arquivo diferente.
Se alguém puder me ajudar, agradeço muito.


  


2. Re: Script me shell [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 19/03/2010 - 11:58h

Quanto a periodicidade, basta colocar na crontab

o script é bem simples:
seu_comando >> arquivo_de_saida

agora precisa ver as opções do tcpdump que voce vai querer usar ... de uma olhada em:
http://www.vivaolinux.com.br/dica/tcpdump-Monitorando-conexoes
http://www.vivaolinux.com.br/dica/Comando-tcpdump-exemplos-de-uso



3. Re: Script me shell [RESOLVIDO]

mazin
mazinsw

(usa Ubuntu)

Enviado em 19/03/2010 - 20:55h

1º passo - cria um script:

#!/bin/sh
NUMERO_ATUAL=$(cat n_atual)
PROXIMO_NUMERO=$(($NUMERO_ATUAL + 1))
mkdir /var/cache/tcp_folder
tcpdump > /var/cache/tcp_folder/"tcp_dump_$PROXIMO_NUMERO"

2º passo - coloca uma entrada no crontab

*/5 * * * * /bin/seu_script.sh

não tenho certeza que funciona porque estou um pouco enferrujado no shell mas testa e analiza


4. Re: Script me shell [RESOLVIDO]

Su
Dexter25

(usa Debian)

Enviado em 22/03/2010 - 10:37h

mazinsw , o script está funcionando sim, mas o que eu preciso na verdade, não é que ele rode de 5 em 5 minutos, ele ficará rodando o tempo inteiro e salvando em um arquivo, mas de 5 em 5 minutos, ele começará a salvar em outro arquivo.
E com o crontab eu posso agenda-lo para rodar de 5 em 5 minutos e não é o que eu preciso, isso eu teria que fazer por script não é?
Acredito que eu teria deixar ele rodar, depois de 5 min, matar o processo e começar outro salvando em outro arquivo, seria isso?
Obrigado


5. Re: Script me shell [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 22/03/2010 - 14:28h

Cara, precisaria entender melhor esse seu loop, mas pensei numa "gambiarra" que faz o seguinte ... muda o nome do arquivo nos minutos multiplos de 5 ( 5, 10, 15, 20, 25, ..., 60) ... sei lá ... talvez sirva ... ve ai e me fal.



# Exemplo de rotina em loop
seus_comandos ()
{
grava
echo $nome_arq
sleep 30
seus_comandos

}

# Muda o nome do arquivo
grava ()
{
nome_arq="seu_arquivo$seq"
contrmin=`date +%M | cut -c 2`
controle="$contrminant$contrmin"
case "$controle" in
"90" | "45")
seq=`expr $seq + 1`
;;
esac
contrminant=$contrmin
}

# start seu loop
seus_comandos



6. dica

Juliao Junior
juliaojunior

(usa Debian)

Enviado em 22/03/2010 - 23:27h

Dica do melhor livro de informática q já comprei: "Shell Script Profissional". Vale muito a pena comprar.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts