고마워 sshfs
마법, 나는 원격 서버에서 홈 디렉토리를 마운트 할 수 있습니다
sshfs user@server:/home/user ~/remote
낙관적으로, 로컬 프로그램이 원격 로그 변경에 반응 할 수 있도록 마운트 에서 로컬 inotify
후크 를 설정한다고 생각했습니다 .~/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
클라이언트가 아닌 서버에서 실행해야합니다 .