tente
tail -f /path/to/logfile.log | xargs -l logger -p local8.info
-
xargs -l
lerá linha por linha. - você precisa configurar o syslog.conf para transmitir. (substituindo
local8
einfo
pelo valor adequado)
Eu tenho um servidor com vários processos gravando arquivos de log enquanto eles são executados. Eu preciso habilitar um host cliente para obter uma réplica dos arquivos de log do lado do servidor em uma maneira quase em tempo real. Existe uma maneira melhor do que simplesmente combinar cauda com netcat?
Eu estava pensando em usar o tail com o netcat no lado do servidor para transmitir vários arquivos de log por meio de uma única conexão:
tail -F *.log | nc -lk -p 31377
Enquanto o lado do cliente desmultiplexa os logs e os grava em arquivos:
nc serverhost 31377 | demultiplexer
Onde o demultiplexer é simplesmente construído em volta do sed, identificando nomes de arquivos de destino de separadores inseridos pela cauda no lado do servidor:
sed -e 's/==> \(.*\) <==//'
tente
tail -f /path/to/logfile.log | xargs -l logger -p local8.info
xargs -l
lerá linha por linha. local8
e info
pelo valor adequado) Tags files streaming tail netcat replication