谢谢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
在服务器而不是客户端上运行。