Trigger im Systemjournal erstellen

Trigger im Systemjournal erstellen

Es gibt ein Skript (hier zu finden), soll eine Protokolldatei überwachen: Wenn das Schlüsselwort auslöst, führen Sie einen Befehl aus:

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

Ich habe mit diesen Zeilen einen systemd-Dienst erstellt und aktiviert:

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

Dies ist eine vorübergehende Maßnahme, die den PHP-Dienst neu startet, wenn das Modul apcu.so ausfällt. Ich hatte jedoch einen Nachteil (wenn ein Befehl „apcu“ enthält):

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.

Wie kann ich es reparieren?

Antwort1

Ok, ich habe dieses Problem behoben, grep kernel\:\ traps\:.*apcu\.so
aber die eigentliche Lösung lag auf Anwendungsebene: apcu_clear_cache()wurde unbeabsichtigt in meinem PHP-Code auf dem Produktionsserver belassen ...

verwandte Informationen