また、awk を使用してパターンを監視し、パターンが見つかったときに何らかのアクションを実行できることもわかりました:
tail -fn0 logfile | awk '/pattern/ { print | "command" }'
これにより、パターンがログに見つかったときにコマンドが実行されます。コマンドは、シェル スクリプトなどを含む任意の UNIX コマンドにすることができます。
tail -fn0 logfile | \
while read line ; do
echo "$line" | grep "pattern"
if [ $? = 0 ]
then
... do something ...
fi
done
さらに堅牢なアプローチは monit です。このツールは非常に多くのことを監視できますが、そのうちの 1 つは、1 つまたは複数のログを簡単に追跡し、正規表現と照合して、スクリプトをトリガーすることです。これは、監視するログ ファイルのコレクションや、トリガーするイベントが複数ある場合に特に便利です。