시놀로지에는 API가 있습니다.
다운로드 스테이션도 있고, 오디오 스테이션 용도 있습니다.
제가 제일 자주 사용하는건 File Station API입니다.
시놀로지 서버에 접속해 파일의 정보를 주고 받는 용도입니다.
제일 잘 활용하는건 교회 홈페이제에 특정한 사진의 내용을 보여주는 용도입니다.
사용자는 시놀로지 서버에 사진을 윈도우에서 사용하듯이 사진파일을 복사해두면,
홈페이지에서는 API를 통해서 홈페이지에 마치 게시판을 통해 사진을 올린것처럼 홈페이지에서 사진을 보는거죠.
사용자는 단순히 탐색기에서 파일을 복사, 붙여넣기를 했을뿐인데,
홈페이지에서는 아래와 같이
이렇게 사진이 예쁘게 들어가는겁니다.
그런데 이런 경우가 그때그때 시놀로지 서버에 접속하는 것이라, 생각보다 속도가 느리다는 것이었습니다.
안그래도 시놀로지 서버가 전체적으로 고사양의 서버가 없는데, 홈페이지를 부를때마다 성능이 느려진다는건 그리 유쾌한 상황이 아니었습니다.
그래서 고안해낸 방법이 NAS에 파일이 입력(create), 수정(rename), 삭제(delete)될때마다 서버에서 알림을 오게 만들어 그때마다 작업을 하게 만들면 되는게 아닌가... 라는 생각이었습니다.
그래서 파일의 로그마다 알림을 오게 만들었습니다.
먼제 제어판에 들어가서 파일 서비스 중에 SMB로 파일을 올리게 되니까 거기에 전송 로그를 활성화 하였습니다.
그리고 모든 파일 이벤트에 대해서 알림을 받을 필요는 없으니, 입력(create), 수정(rename), 삭제(delete)에 대해서만 알림이 오도록 설정했습니다.
왜 3개까지 밖에 안되는지는 알 수없지만 일단 이렇게 라도 설정하였습니다.
이렇게 설정하고 나니 아래와 같이 알림이 오게 되었습니다.
지금은 기본적으로 텔래그림에 알림이 쌓이게 두었습니다만,
웹서버를 하나 만들어 거기 API를 만들어주면, 이벤트에 작업을 걸 수 있을것 같았습니다.
다만... 그렇게 큰 부담이 없다면 5분 정도마다 스케쥴을 돌리는게 더 낫지 않나 생각도 듭니다.
아니, 그냥 파일목록에 직접 접속해 실시간으로 보여줄 수도 있겠죠.
여튼... 생각은 여기까지, 일단 이렇게 구성해보았습니다.
다만 여기도 문제가 생기는것은 파일의 이름은 동일하고, 파일의 내용이 변경되는 경우 제대로된 알림이 오지 않는것입니다. 아무래도 파일 수정에 대한 알림이 파일 이름등의 수정이고, 실제 내용의 변화(시간, 크기등의 변화)에는 대응하지 않는걸로 보입니다.
여기까지 고민해보기로 했습니다.
파일 삭제에 대한 추적이 가능하다면, 다른 방향으로도 작업이 가능할것도 같습니다.