有什么方法可以实现这样的目标吗?每当日志文件中出现某些特定单词(或它们的组合)时,我都想执行特定操作。例如:每当日志文件中出现单词“exception”时,我都想执行“systemctl restart myservice”。我很好奇,因为我可能需要这个作为临时解决方法。提前致谢!
答案1
您可以执行与以下示例类似的操作。请参阅man tail
使用的选项:
/usr/bin/tail -f --follow=name --retry -n0 $logfile |\
/bin/grep --line-buffered "exception" \
| while read -r line ; do
# do something with $line if you wish
systemctl restart your_service
done