Завдяки 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на сервері, а не на клієнті.