Criar gatilho no diário do sistema

Criar gatilho no diário do sistema

Existe um roteiro (encontrado aqui), destinado a monitorar um arquivo de log: se a palavra-chave for acionada, execute um comando:

journalctl -f | \
while read line ; do
    echo "$line" | grep "apcu"
    if [ $? = 0 ]
    then
           systemctl restart php7.2-fpm.service
    fi
done 

Criei e habilitei um serviço systemd com estas linhas:

[Service]
ExecStart=/home/alex/journal-trigger.sh
StandardOutput=file:/home/alex/journal-trigger.log
StandardError=file:/home/alex/journal-trigger.error.log

Esta é uma medida temporária, que reinicia o serviço php quando o módulo apcu.so falha. No entanto, enfrentei uma desvantagem (quando um comando inclui 'apcu'):

sudo php cachetool.phar apcu:cache:info --fcgi

In FastCGI.php line 133:          
  FastCGI error: Stream got blocked, or terminated. (/var/run/php/php7.2-fpm.sock)

In Socket.php line 525:
  Stream got blocked, or terminated.

Como posso consertar isso?

Responder1

Ok, resolvi esse problema, grep kernel\:\ traps\:.*apcu\.so
mas a verdadeira correção estava no nível do aplicativo: apcu_clear_cache()foi deixado involuntariamente em meu código PHP no servidor de produção ...

informação relacionada