Я думаю, что можно сделать это с именованными каналами.
Сначала создайте канал и почтовый процесс:
mkfifo logwatch_fifo
while true; do cat logwatch_fifo | mail ...; sleep 10; done
Затем сделайте контроль и запишите в FIFO:
tail -F mysystem.log | grep -i error > logwatch_fifo
Можно скорректировать его к симпатии, в основном делая независимо от того, что Вы хотите с выводом, буферизованным в FIFO с помощью некоторого изменения цикла с условием продолжения и сна.
Вам нужен именованный канал здесь вместо регулярного канала (просто передающий вывод по каналу к a (while true ...)
подоболочка, например), потому что, если Вы, последняя кошка никогда не отпускает канала, если хвост не закрывает свой конец.
Почему следующие записи закомментированы?
#smtpd_tls_cert_file=/etc/ssl/certs/mailcert.pem
#smtpd_tls_key_file=/etc/ssl/private/mail.key
Похоже, вы пытаетесь использовать TLS / SSL без указания ключей.