Завдяки sshfs
магії, я можу змонтувати свій домашній режисер із віддаленого сервера
sshfs user@server:/home/user ~/remote
Оптимістично, я думав , що я встановив місцевий inotify
-hook на ~/remote/logFile
(в sshfs
горі) , тому локальна програма може реагувати на зміни віддалених журналів.
cd ~/remote
touch logFile # create remote file
inotifywait logFile & # set up local inotify-hook
ssh user@server -x touch /home/user/logFile # touch file from remote
Нічого не відбувається . inotifywait
мовчить, якщо я touch
файл не локально. Запис у названу трубку не вдається аналогічно.
Чому це?
Як я можу подолати цю прогалину?
Я міг би працювати inotifywait
на віддаленому режимі, зламати стратегію серіалізації зміни файлової системи та підтримувати з'єднання з локальним, але тоді я в основному повторюю SSHFS . І це повністю вбиває абстракцію.
inotify
в локальній системі є можливість виявити зміни у віддаленій файловій системі. Локальне ядро вийшло з циклу в цих змінах. Вам потрібно запуститиinotifywait
на сервері, а не на клієнті.