La secuencia de commands de ejecución larga deja de enviar la salida al file

Tengo un script que estoy usando para capturar el estado del server a intervalos de 10 segundos.

El script es el siguiente:

for (( ; ; )) do /usr/local/apache/bin/apachectl fullstatus sleep 10 done 

Y estoy ejecutando el script usando:

 nohup /path/to/scriptname.sh | gzip > logfile.log.gz & 

Se ejecutará en segundo plano y seguirá funcionando si me desconecto de ssh. Sin embargo, después de aproximadamente 3-4 horas, la salida deja de transferirse al file de logging. El script aún se está ejecutando y aparece si ejecuto ps -elf | grep scriptname, pero el file de logging no se actualiza. ¿Por qué la salida deja de enviar? ¿Es posible que esto sea un problema con el buffer?

El formatting de file gzip tiene un pie de página de 8 bytes que contiene una sum de comprobación CRC-32 y la longitud de los datos sin comprimir. El formatting de file DEFLATE está orientado a bloques. El progtwig gzip en la tubería casi seguramente está almacenando en búfer la input para usar en el próximo bloque de salida. El pie de página de 8 bytes no se escribirá hasta que finalice el script de shell de ejecución prolongada, y se cierre el stdin de gzip . Creo que tendrá que esperar mucho time para ver si los bloques DEFLATE no se escriben periódicamente en el file de logging.