Graças à sshfs
magia, posso montar meu diretório pessoal a partir de um servidor remoto com
sshfs user@server:/home/user ~/remote
Otimista, eu pensei que eu ia definir um local de inotify
-Gancho em ~/remote/logFile
(na sshfs
montagem) para um programa local pode reagir a mudanças de log remotos.
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
Nada acontece . inotifywait
fica em silêncio, a menos que eu touch
o arquivo localmente. A gravação em um pipe nomeado falha da mesma forma.
Por que é isso?
Como posso preencher essa lacuna?
Eu poderia rodar inotifywait
no controle remoto, hackear uma estratégia de serialização de alterações no sistema de arquivos e manter uma conexão com o local, mas basicamente estou reimplementando o SSHFS . E isso mata completamente a abstração.
inotify
de o sistema local detectar alterações em um sistema de arquivos remoto. O kernel local está fora do circuito nessas mudanças. Você precisa executarinotifywait
no servidor, não no cliente.