Vou sugerir um pipe nomeado.
-
Crie um canal
mkfifo p
(chame como quiser, se não 'p') -
Crie um script "reader" que leia o canal e escreva onde quiser
-
Diga ao programa de monitoramento para gravar seus logs no pipe nomeado
Aqui está um script de leitor de amostra que lê um pipe nomeado 'p' e grava os dados em um arquivo 'mylog' indexado:
#!/bin/sh
INDEX=0
switchlog() {
read INDEX < newindex
echo now writing to "mylog.$INDEX"
}
trap switchlog USR1
while :
do
cat p >> mylog."$INDEX"
done