Выполнение команды tail -f для текстового файла через sshfs не работает. Почему?

Если вы используете полный systemd, то стандартные скрипты sysvinit игнорируются. Если вы хотите использовать скрипты sysvinit, вам необходимо установить systemd-shim

7
26.02.2017, 23:19
2 ответа

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

tail ---disable-inotify -n 500 -f my_text_file
8
27.01.2020, 20:17

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

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

2
27.01.2020, 20:17

Теги

Похожие вопросы