tail
в Linux, по-видимому, использует inotify
, чтобы сообщить об изменении файла - возможно, он использует аналогичные структуры уведомлений файловой системы в других операционных системах. Поэтому он обнаруживает изменения файла.
Тем не менее, tail
выполняет вызов fstat()
после каждого обнаруженного изменения и не будет ничего выводить, пока размер файла не увеличится. Современные системы БД используют произвольный доступ к файлам и повторно используют страницы БД, поэтому вполне возможно, что вставленная строка не изменит размер файла резервной копии.
Вам лучше использовать inotify
(или подобное) напрямую, и еще лучше, если вы используете триггеры БД или любой другой механизм, который ваша СУБД предлагает для отслеживания обновлений БД, поскольку не все обновления файлов обязательно являются вставками строк.