2009-03-16 4 views
3

저는 웹 기반 파일 시스템 추상화 계층 개발 중에 있습니다. freaky 권한 등의 추가 기능이 있다는 것만 제외하면 파일 브라우저와 같습니다.디렉토리 체크섬과 파이썬?

사용자에게 디렉토리 변경 사항에 대한 알림을 보내시겠습니까? 누군가가 FTP를 통해 새 파일을 업로드하면 특정 사용자에게 적절한 메시지가 전송됩니다. 메시지를 자세히 설명 할 필요는 없으며 정확한 리소스가 변경되었음을 표시 할 필요가 없습니다. 상위 디렉토리 이름으로 충분해야합니다.

어떤 접근 방식을 권하고 싶습니까? 서버가 리눅스 인 경우에만 업데이트가 FTP에서 오는 경우

답변

2

당신이 inotify

같은이 작업을 수행 할 수 있습니다, 나는 과거에 사용했던 또 다른 해결책은 애드온 모듈 ProFTPD에를 작성하는 것입니다 업로드가 완료되면 "알림"을 수행합니다.

1

이 질문을 참조하십시오 : How to quickly find added/removed files?

을하지만 당신은 어떻게 든 (대신 FTP의 즉 사용 HTTP의 POST를) 업로드를 제어 할 수있는 경우 업로드가 완료된 후, 당신은 단순히 알림을 보낼 수 있습니다. 이는 사용자가 부분 파일을 볼 수 없도록하는 것이 더 간단하다는 추가적인 이점이 있습니다.

+0

거기에 저장된 파일이 각각 200MB 이상이므로 FTP를 선호합니다. – ohnoes

+0

+1 : 업로드 트랜잭션을 씁니다. 알림을 추가하는 자체 FTP 클라이언트를 작성하십시오. –

+0

S.Lott : 바퀴를 reinveting 같은 소리. 게다가 내 사용자는 내 클라이언트를 사용하도록 요청하면 나를 십자가에 못 박았다.) – ohnoes

0

간단한 접근법은 작업 디렉토리의 마지막 수정 날짜를 모니터/확인하는 것입니다 (예 : os.stat() 사용).

디렉토리의 파일이 수정 될 때마다 작업 디렉토리 (파일이있는 디렉토리)의 마지막 수정 날짜도 변경됩니다.

최소한이 작업은 현재 작업하고있는 파일 시스템 (ufs, ext3)에서 작동합니다. 모든 파일 시스템이 이런 방식으로 작동하는지 확신 할 수 없습니다.