datalogger baseado em tcpdump

1

Estou construindo um datalogger com o raspberry pi. Eu usei um script Shell em rc.local, estou capturando os bytes usando o tcpdump. O problema que estou enfrentando é que o arquivo de log está sendo substituído toda vez que o pi é inicializado. Existe uma maneira possível de salvar os arquivos de log com nomes diferentes toda vez que o pi for iniciado.

meu código inicial em rc.local

tcpdump udp -c 600 -w new-$(date +%F-%H-%M-%S).pcap  //this writes all the 600 UDP Frames of Ethernet to the file new(time displayed in PI).pcap

Eu tentei anexar os dados, mas quero salvar o arquivo de log toda vez que o pi é inicializado. Sem RTC, os dados são um pouco incorrigíveis. Eu gostaria de salvar o arquivo em nomes diferentes toda vez que o PI for inicializado. É possível fazer isso?

    
por qwerty 17.11.2015 / 15:56

2 respostas

1

Não há problema em ter arquivos de log numerados? Você pode criar um arquivo de texto com o número do log, por exemplo, lognum e um pequeno script para iniciar o log:

#!/bin/bash
lognum=$(cat lognum)
tcpdump udp -c 600 -w log-$lognum.pcap
echo $(( $lognum + 1 )) > lognum

Dessa forma, seus registros serão numerados e o número do próximo registro será armazenado em lognum . Sugiro colocar 1000 como um valor inicial lá, para que a classificação alfabética ordene seus registros diretamente.

    
por 17.11.2015 / 17:36
0

Soluções possíveis:

1) Possuindo conectividade com a Internet

No momento em que o rc.local é executado, você já deve ter as interfaces de rede ativadas. Melhor instalar o daemon ntpd para manter o tempo.

Faça um

sudo install ntp

Na próxima vez que você fizer a reinicialização, a hora será acertada antes de executar o tcpdump.

2) Comprando um relógio de tempo RTC em alibaba / aliexpress. É bastante barato e fácil de usar.

link

3) Usando mktemp para o shell para gerar um nome aleatório, que será alterado depois de girar o arquivo.

    
por 17.11.2015 / 16:00