Выполнение хвоста -f в текстовом файле поверх sshfs не работает. Зачем?

Я успешно смонтировал локальную папку с удаленным хостом ssh.

Теперь я хотел сделать tail -500f my_text_file но он работает не очень хорошо. Хотя он открывает открытый хвост и показывает мне содержимое файла, часть -f определенно не работает. Это должно иметь какое-то отношение к sshfs . Когда я делаю регулярное соединение ssh, он работает чудесно.

Любые указатели на то, как это исправить? Я использую версию sshfs, которую получает при выполнении sudo apt install sshfs в Ubuntu.

2 Solutions collect form web for “Выполнение хвоста -f в текстовом файле поверх sshfs не работает. Зачем?”

tail -f пытается использовать механизм уведомления об изменении файла ( inotify ). SSHFS, как и любая другая файловая система FUSE , не поддерживает этот механизм. Обычно tail должен обнаружить это сам по себе. Если это не сработает, вы можете использовать недокументированную опцию ---disable-inotify (начиная с трех тире, поскольку это недокументированная опция), чтобы принудительно использовать режим опроса, который работает на любой файловой системе.

 tail ---disable-inotify -n 500 -f my_text_file 

sshfs использует протокол sftp для перечисления и передачи файлов и в протоколе sftp (по крайней мере, поскольку он реализован в OpenSSH), нет возможности уведомлять ваш локальный tail об обновлениях удаленного файла.

Как предложил @vovick, вы можете обходным путем использовать различные подходы, например, используя опрос. Или лучше, запустите tail прямо на удаленном сервере (если это не sftp only).

  • Временно заморозить процесс при взаимодействии оболочки
  • Подавлять сообщения об усечении файла при использовании хвоста
  • Данные о трубах от подключения сокета TCP к терминалу
  • Извлечь диапазон элементов из i-го элемента в j-й элемент, вплоть до n-го элемента из списка
  • Проводя результат ls в хвост
  • Как извлечь первую и последнюю строки в файле?
  • Tail Grep - печать окружающих линий до тех пор, пока шаблон не будет сопоставлен
  • Только кошка из определенной строки X (с рисунком) в другую определенную строку Y (с рисунком)
  • Добавьте возврат каретки к выходу `tail` при использовании` grep`
  • Хвост нескольких файлов и вывод в качестве дополнительного столбца с результатами поиска
  • Как сделать «хвост -f» файлов с чередованием логов?
  • Linux и Unix - лучшая ОС в мире.