Михаил Юдин

Следим за логами

Следим за событиями через логи и выполняем действия по ним

on_new_record() {
    while read value; do
        echo "$value" # здесь подписываемся на событие
    done
}

tail -f /var/log/mysql/mysql.log \
    | grep --line-buffered -oP 'INSERT INTO some_table.+\D\K\d+' \
    | on_new_record

--line-buffered не даёт застаиваться буферу до его наполнения, выводит каждую строку (при условии что запись логов не буферизуется).

Бонус

Можно на cron повешать следилку за процессом, чтоб не убежал.

ps -ef | grep -q '[b]ash /home/user/watch-something.sh' || /home/user/watch-something.sh

Поблагодарить через СберБанк:

4274320107381801


Остались вопросы или есть пожелания, замечания — пишите в комментарии: