Ich möchte mit Ideen zur verteilten Dateisynchronisierung / -replikation experimentieren. Um es effizient zu machen, wenn der Benutzer arbeitet, möchte ich eine Art von Daemon implementieren, um Änderungen in einem Verzeichnis zu überwachen (z. B. / home / user / dirToBeMonitored oder c: \ docs und setts \ user \ dirToBeMonitored). So könnte ich wissen, welcher Dateiname zu jedem Zeitpunkt (oder innerhalb eines angemessenen Intervalls) hinzugefügt / geändert / gelöscht wurde.
Ist das mit jeder Sprache der höheren und mittleren Ebene möglich ?. Kennen Sie eine API (und in welcher Sprache?), Um dies zu tun?
Danke.
Eine verdammte Antwort, wenn auch eine, die eine größere Bibliotheksabhängigkeit erfordert (es lohnt sich IMO)!
QT stellt die Klasse QFileSystemwatcher zur Verfügung, die den nativen Mechanismus der zugrunde liegenden Plattform verwendet.
Noch besser: Sie können die QT-Sprachbindungen für Python oder Ruby verwenden. Hier ist eine einfache PyQT4-Anwendung, die QFileSystemWatcher .
Hinweise
Und auf OS X heißt es fsevents . Es ist eine API auf Betriebssystemebene, daher ist es am einfachsten, auf C oder C ++ zuzugreifen. Es sollte aus fast jeder Sprache zugänglich sein, obwohl Bindungen für Ihre bevorzugte Sprache möglicherweise noch nicht geschrieben wurden.
Tags und Links platform-independent file-monitoring