Я хочу отслеживать /var/log/syslog любые изменения в реальном времени (или в пределах нескольких секунд), но tail -f не будет обновляться никакими новыми изменениями.
Сейчас я запускаю Linux Mint 17 XFCE под управлением Ubuntu, но это не сработало на живых версиях Iso Ubuntu, Xubuntu или Linux Mint Mate.
Я пробовал эти:
$ tail -f /var/log/syslog $ tail -f --retry -s 1 /var/log/syslog $ tail --follow=name /var/log/syslog $ tail --follow=name --retry /var/log/syslog $ tail --follow=name --retry -s 1 /var/log/syslog
Но он только изначально выводит последние несколько строки файла, а затем нет обновлений, когда файл растет (когда, например, попытка установить пустой файл дает около 15 строк ошибок).
Собственно, даже пытаюсь следовать тестовому файлу в моем Домашняя папка не работает, работает tail -f testfile, а затем (в другом терминале): $ echo "new stuff" >> testfile $ echo "new stuff2" >> testfile $ echo "3" >> testfile не приводит к обновляется до tail либо ... Но если я поместил testfile в /tmp (смонтирован на tmpfs), то он будет следовать за изменениями файла.
Есть ли что-то странное в том, что вы бежите вживую, или overlayfs, который калечит tail -f? И любые предложения, как следить за журналом? (xwatch работает нормально, ничего лучше или в терминале?)
Я пробовал работать strace tail -f -s 1 testfile и вот последние пару строк вывода после него write(1,, существующие пары линий testfile:
write(1, "new1\n", 5new1
) = 5
fstat64(3, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstatfs64(3, 84, {f_type=0x1021994, f_bsize=4096, f_blocks=968776, f_bfree=461437, f_bavail=461437, f_files=203469, f_ffree=190635, f_fsid={0, 0}, f_namelen=255, f_frsize=4096, f_flags=1056}) = 0
inotify_init() = 4
inotify_add_watch(4, "testfile", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1
fstat64(3, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
read(4,