Como tornar / var / log persistente através de reinicializações em um dispositivo linux embutido

0

Cenário
Eu estou em um sistema Linux embutido. Como de costume /var/log/ é o diretório quando todos os logs são armazenados. Eu tenho um diretório chamado /safepath , que é criado durante a criação da imagem e está na memória persistente. Isso significa que o que quer que eu coloque sob /safepath persiste nas sessões de reinicialização.

Eu quero que os logs em /var/log/ não sejam perdidos a cada reinicialização e que sejam persistentes durante as reinicializações. Então eu pensei em montar /var/log/ em /persists fazendo mount --bind /var/log /safepath que eu li nessa discussão interessante aqui

Pergunta:
Mas fazendo isso, ainda me faz perder os dados em /var/log/ . Isso está correto? Como fazer com que /var/log/ persista nas sessões de reinicialização?

    
por Game_Of_Threads 24.10.2018 / 17:13

2 respostas

0

A maneira mais direta seria tornar o / var / log um link simbólico para / safepath / log, ou algo semelhante.

    
por 24.10.2018 / 17:21
0

Não respondendo realmente à pergunta. mas oferecendo uma alternativa ... adicione uma regra ao syslog para encaminhar todas as mensagens para um servidor, por exemplo,

*.*    @server.host.name

Se você fizer isso, não será necessário persistir /var/log (minha experiência tem sido que você sempre preencherá seu armazenamento persistente se tiver /var/log sobre ele) .

Note que você precisará habilitar o módulo de rede no syslog do seu servidor - como fazer isso depende de qual software syslog você está executando. Você também pode precisar lidar com firewalls (geralmente a porta UDP 514).

Observe também que você pode precisar usar um endereço IP em vez de server.host.name se o seu resolvedor DNS não estiver disponível quando o daemon syslog for iniciado.

Uma (eu acho grande) vantagem de fazer isso é que você pode ter todos os seus dispositivos embarcados conectados ao servidor e todos os logs estão disponíveis em um único lugar - você deve usar as regras correspondentes no software syslog do seu servidor para armazenar mensagens de cada dispositivo em arquivos separados nomeados após o dispositivo de origem (isso pode ser difícil de configurar, às vezes, mas vale a pena).

    
por 09.12.2018 / 03:36