Een programma voor het monitoren van bestanden en mappen. Wijzigingen in een directory monitoren: hoe dit wordt gedaan in verschillende besturingssystemen

Invoering

Opmerking. De Filemon- en Regmon-programma's zijn vervangen door één programma Procesmonitor V Windows-versies, vanaf Windows 2000 SP4, Windows XP SP2, Windows-server 2003 SP1 en Windows Vista. De Filemon- en Regmon-programma's blijven echter behouden ter ondersteuning van oudere besturingssystemen, waaronder Windows 9x.

Programma BestandMon bewaakt en toont alle bestandssysteembewerkingen in realtime. Haar rijke capaciteiten maken haar krachtig gereedschap, waarmee u kunt zien hoe uw Windows-systeem werkt, kunt controleren hoe toepassingen bestanden gebruiken en DLL's, en lost ook problemen op die verband houden met het configureren van systeembestanden of applicaties. Filemon houdt nauwkeurig bij hoe laat een bestand of map is geopend, gelezen, geschreven of verwijderd. In de statuskolom wordt het resultaat van elk van deze bewerkingen weergegeven. Programma BestandMon zo eenvoudig te gebruiken dat u binnen enkele minuten een expert wordt. Het begint onmiddellijk bij het opstarten met volgen en de uitvoer ervan kan in een bestand worden opgeslagen voor offline weergave. Het programma beschikt over alle zoekmogelijkheden en als je vindt dat het te veel informatie weergeeft, stel je gewoon een of meerdere filters in.

Programma BestandMon draait op NT 4.0, Windows 2000, Windows XP, Windows XP en Windows Server 2003 64-bit Edition, Windows 2003 Server, Windows 95, Windows 98 en Windows ME.

Installatie en gebruik

Als u vragen of problemen heeft, bezoek dan het Sysinternals Filemon-forum.

Voer gewoon het programma uit BestandMon(filemon.exe). Om dit te doen, moet u over beheerdersrechten beschikken. Wanneer het programma voor de eerste keer wordt gestart, controleert het alle lokale harde schijven. U kunt menuopdrachten, sneltoetsen of knoppen gebruiken om het programmavenster leeg te maken, volumes te selecteren of te verwijderen die u wilt controleren, inclusief netwerkvolumes (Windows NT/2K/XP), de resulterende gegevens in een bestand op te slaan en de uitvoer te filteren of te doorzoeken gegevens.

Ik dik laatste lancering BestandMon Als er filters zijn geconfigureerd, wordt u de volgende keer dat u het programma start, gevraagd het gebruik ervan te bevestigen. Om het te starten BestandMon zonder om bevestiging te vragen, gewoon aangeven opdrachtregel parameter /q. Eenmaal gestart, begint het programma automatisch met het loggen van bestandssysteembewerkingen. Om het te starten BestandMon Wanneer u opnamebewerkingen uitschakelt, moet u de parameter /o op de opdrachtregel opgeven.

Wanneer gebeurtenissen naar de uitvoer worden geschreven, worden er volgnummers aan toegewezen. Als de interne buffers van Filemon vol zijn, wat gebeurt wanneer grote hoeveelheden Bij bewerkingen ontstaan ​​er gaten in de reeks getallen.

Elke keer dat je weggaat BestandMon, onthoudt het programma de geconfigureerde filters, de vensterpositie en de breedte van de kolommen met uitvoergegevens.

Filtratie

In het dialoogvenster Filter, dat u kunt openen met de werkbalkknop of via de menuopdracht Bewerken|Filter/Markeren, kunt u opgeven welke gegevens in de lijst moeten worden weergegeven. Het jokerteken "*" komt overeen met een willekeurige tekenreeks; filters zijn niet hoofdlettergevoelig. De lijst geeft alleen gegevens weer die zijn gedefinieerd in het inclusieve filter en niet zijn gedefinieerd in het exclusieve filter. Regels in het filter worden gescheiden door puntkomma's, bijvoorbeeld: "filemon;temp". Opmerking voor Windows NT en 2000: Omdat de invoer en uitvoer van het bestandssysteem asynchroon zijn, kunt u niet filteren op resultaatveld.

Als bijvoorbeeld een inclusief filter "c:\temp" en een exclusief filter "c:\temp\subdirectory" zijn geconfigureerd, controleert het programma de toegang tot alle bestanden en mappen in de map c:\temp, behalve die zich in de map c:\temp\submap.

Met behulp van jokertekens kunt u complexe patronen specificeren die u wilt matchen, zodat u bijvoorbeeld hits kunt volgen specifieke bestanden van buitenaf specifieke toepassingen. Dus als het opnamefilter “Winword*Windows” is geconfigureerd, wordt het programma BestandMon toont alleen hits Microsoft-applicaties Word naar bestanden en mappen met het woord 'Windows' in hun naam.

Met behulp van het markeringsfilter kunt u opgeven welke rijen in de lijst moeten worden gemarkeerd. Markeerkleuren worden ingesteld via het menu-item “Bewerken|Markeerkleuren”.

Met extra filteropties kunt u lees-, schrijf- of openbewerkingen selecteren of uitsluiten. Bij het oplossen van problemen zijn bijvoorbeeld vaak alleen het openen van bestanden of mappen van belang.

Volumes selecteren (Windows NT/2K/XP/2K3)

Om volumes die u wilt monitoren te selecteren of uit te sluiten, moet u het menu Volumes gebruiken. Om de toegang tot alle netwerkbronnen te controleren, inclusief externe gedeelde mappen en UNC-padtoegang tot volumes op afstand, kunt u in dit menu het item “Netwerk” gebruiken.

Beperking van het volume van uitvoergegevens

In het dialoogvenster Geschiedenisdiepte, dat kan worden geopend met de overeenkomstige knop op de werkbalk of via het menu-item Bewerken|Geschiedenis, kunt u opgeven maximaal aantal regels in het uitvoervenster. Een waarde van 0 betekent dat er geen beperkingen zijn.

Zoek op opdruk

Voer een zoekopdracht uit de benodigde lijnen in het uitvoervenster kunt u de menuopdracht "Zoeken" of de overeenkomstige knop op de werkbalk gebruiken. Zoeken in voorwaartse richting kan worden herhaald met behulp van de F3-toets, en in achterwaartse richting - met behulp van de Shift+F3-toetsencombinatie. Om een ​​zoekopdracht te starten met een specifieke rij met uitvoer, moet u deze markeren door op het meest linkse veld van die rij te klikken ( serienummer). Als er geen lijnen zijn geselecteerd, nieuwe zoekopdracht begint vanaf de eerste (bij een top-down zoekopdracht) of de laatste (bij een bottom-up zoekopdracht) invoer.

Opties

Programma BestandMon kan de uitvoeringstijd van bewerkingen of hun duur weergeven. Met het menu Opties en de klokknop op de werkbalk kunt u van de ene modus naar de andere overschakelen. Afhankelijk van huidige modus Er verschijnt een klok- of stopwatchpictogram op de werkbalk. Als de weergavemodus voor de werkingsduur is ingesteld, komt de waarde in het veld “Tijd” overeen met het aantal seconden dat dit duurde bestandssysteem om aan een specifiek verzoek te voldoen. Met het menucommando Opties|Toon Milliseconden kunt u de tijd met millisecondenprecisie weergeven.

Naar het raam BestandMon altijd bovenaan andere vensters weergegeven, selecteert u gewoon de menuopdracht “Opties | Altijd op de voorgrond”. Bovendien kunt u met behulp van de menuopdracht “Opties|Automatisch scrollen” of de overeenkomstige knop op de werkbalk specificeren dat de lijst in het venster BestandMon scrollde niet.

Benoemde pijpen en berichtenpijpen
E-mail

Vanaf versie 4.1 is het programma BestandMon kan bestandssysteembewerkingen monitoren met Named Pipes en e-mailberichtpipes voor Windows NT/2K Named Pipes worden doorgaans gebruikt als communicatiemechanisme in kernsubsystemen van NT/Win2K, zoals de lokale beheerder beveiliging (LSASS). Het DCOM-model maakt ook gebruik van Named Pipes. Daarnaast werken ze mee netwerkcomponenten, zoals de browserservice. Om benoemde pijpbewerkingen te zien met behulp van BestandMon, selecteert u gewoon “Named Pipes” in het menu “Drives” en voert u vervolgens een bewerking uit op de common netwerkbron of open een applicatie zoals Regedt32 die samenwerkt met de beveiligingsengine.

Hoe FileMon werkt

Voor Windows-stuurprogramma's 9x in het hart van het werk BestandMon ligt de bestuurder virtueel apparaat Bestandvxd.vxd. Het wordt dynamisch geladen en tijdens de initialisatie installeert het een bestandssysteemfilter met behulp van de VxD-service IFSMGR_InstallFileSystemApiHook, waardoor het kan worden geïntegreerd in de oproepketen van alle verzoeken aan het bestandssysteem. In Windows NT OS de basis van het werk BestandMon ligt een bestandssysteemstuurprogramma dat filterapparaatobjecten aanmaakt en deze bindt aan doelapparaatobjecten van het bestandssysteem, waardoor het programma alle IRP- en FastIO-verzoeken kan bekijken die naar de schijven zijn verzonden. Wanneer het programma BestandMon registreert een verzoek om een ​​bestand of map te openen, te maken of te sluiten, het werkt een interne hashtabel bij, een lijst met overeenkomsten tussen interne bestandshandvatten en paden naar die bestanden. Als er een oproep wordt gedaan op basis van een handle, zoekt het programma de tabelinvoer voor die handle op om de bijbehorende af te drukken vol pad naar het bestand. Als het bestand waarnaar wordt verwezen door de handle geopend was voordat het werd uitgevoerd BestandMon, zal het overeenkomstige item in de hashtabel niet worden gevonden, en dan zal het programma eenvoudigweg de waarde van de handle afdrukken.

Informatie over de toegang tot het bestandssysteem wordt in ASCII-formaat naar een buffer geschreven, die periodiek wordt gekopieerd naar een lijst die in het programmavenster wordt weergegeven.

Extra informatie

Hieronder opgesomd aanvullende bronnen bestandsinformatie Windows-systeem 9x:

    DDK voor Windows 95/98;

    Mark Russinovich en Bryce Cogswell, "Het gelaagde bestandssysteem van Windows 95 verkennen", Dr. Dobbs Dagboek, december 1995;

    Walter Oney, " Systeemprogrammering voor Windows 95", Microsoft Press, 1996 (elke VxD-programmeur zou dit boek moeten lezen);

    Stan Mitchell, " Interne organisatie Windows 95-bestandssysteem", O" Reilly en Associates, 1996.

Hieronder vindt u een lijst met informatiebronnen over het bestandssysteem en/of programma van Windows NT/2000 BestandMon:

    David Solomon en Mark Russinovich, " Intern Windows-apparaat 2000, derde editie", 2000;

    Mark Russinovich en Bryce Cogswell, "Het Windows NT-bestandssysteem verkennen", Dr. Dobb's Journal, februari 1997;

    "Dienst Windows-programma's NT: een kijkje achter de schermen”, Windows NT Magazine, februari 1999;

    Rajeev Nagar, " Interne structuur van het Windows NT-bestandssysteem", O" Reilly en Associates, 1997.

Artikelen over Filemon in de Microsoft Knowledge Base

In de volgende Microsoft Knowledge Base-artikelen wordt het gebruik van Filemon besproken om verschillende fouten te diagnosticeren of op te lossen:
  • 830903: Wanneer u een bestand in een netwerkmap probeert te openen, lijkt het alleen-lezen te zijn of ontvangt u een bericht dat het bestandstype niet kan worden herkend
  • 319844: ACC2002-foutmelding: ActiveX-component kan geen object maken
  • 830761: Richtlijnen voor het implementeren van Visual Basic 6.0-toepassingen
  • 837932: Gebeurtenissen 2108 en 1084 worden vastgelegd tijdens inkomende Active Directory-replicatie in Windows 2000 Server en Windows Server 2003
  • 819612: FIX: Slechte prestaties bij het verwijderen van de browserfunctie-evaluator uit de cache

Een klein programma dat geen installatie vereist, ontworpen om bestanden in een door u opgegeven map te controleren. Hiermee kunt u zowel lokaal als netwerkmap en waarschuwingen weergeven, zowel op het bureaublad als via het netwerk of via e-mail! Het programma heeft ook de mogelijkheid om snel op veranderingen te reageren door bat-bestanden of bepaalde applicaties te starten.

Het gebeurt gewoon zo dat tegenwoordig iedereen op de een of andere manier afhankelijk is van de computer. Ik heb het niet over computerverslaving als een ziekte, nee :). Het is gewoon zo dat elke gebruiker zijn persoonlijke bestanden toch op zijn pc opslaat...

En aangezien meerdere mensen op één computer kunnen werken, wilt u er natuurlijk zeker van zijn dat niemand uw gegevens ergens mee naartoe neemt.

Het meest op radicale wijze is om uw persoonlijke map te coderen met een wachtwoord. Dit is echter niet altijd handig, bijvoorbeeld als u toegang via het netwerk nodig heeft...

In dit geval kunt u de hulp inroepen van speciale programma's om wijzigingen in bestanden in de mappen die u nodig hebt te controleren. Hiermee kunt u geselecteerde mappen voortdurend controleren en de gebruiker hiervan op de hoogte stellen als de inhoud ervan verandert. Een van de weinige van dergelijke gratis programma's is Simpele waarnemer.

Vergelijking met een betaalde analoog

Een eenvoudige waarnemer is, ondanks de eenvoudige naam, behoorlijk krachtig gereedschap bestandssysteembewaking, waarmee u zowel een individuele map als een volledige schijf of zelfs een gedeelde netwerkmap kunt controleren. Je kunt het vergelijken met een andere betaalde binnenlandse ontwikkeling - Folder Watchdog Service:

Het enige nadeel Een eenvoudige waarnemer is het onvermogen om meerdere mappen tegelijk te monitoren. Al het andere is slechts een pluspunt :).

Voorbereiden om met het programma te werken

Een ander voordeel van de applicatie is dat er geen installatie vereist is! Om met het programma te gaan werken, hoeft u het alleen maar uit het archief te halen en in een willekeurig bestand te plaatsen handige map(hoewel degene die moet worden gecontroleerd). Dat is alles - we zijn klaar om te werken :).

Oh ja! Ik vergat bijna je te waarschuwen dat bibliotheken op je pc moeten worden geïnstalleerd .NET-framework 3.5 (meestal worden ze met het systeem geïnstalleerd, maar het is mogelijk dat ze niet aanwezig zijn, dus voor het geval dat, hier is de downloadlink: https://www.microsoft.com/ru-ru/download/details.aspx?id=21 ).

Na het uitvoeren van het programma zien we het volgende:

Wees niet bang :). Niemand vraagt ​​geld van ons, registratie is geheel gratis. En als je je incognito identiteit niet prijs wilt geven, hoef je je helemaal niet te registreren! Om dit te doen, klikt u eenvoudig op de knop "Niet registreren".

In de toekomst zult u dit echter elke keer moeten doen wanneer u het programma start, zodat het gemakkelijker zal zijn om de vereiste gegevens in de daarvoor bestemde velden in te voeren en op “Registratie” te klikken.

Hierna verschijnt het hoofdprogrammavenster voor ons:

Het bestaat uit verschillende functionele knoppen, een link naar de bewaakte map en een statusregel, die informatie weergeeft over de applicatie-activiteit.

Programma-instellingen

Voordat u een map gaat monitoren, raad ik u aan om vertrouwd te raken met de instellingen van de Simple Observer. Om ze te bereiken, moet u op de knop "Instellingen" klikken:

De programma-instellingen zijn verzameld op vier tabbladen. En de eerste daarvan is ‘Monitoring’. Hier zijn de instellingen die verantwoordelijk zijn voor de trackingfuncties zelf. Het is de moeite waard om aandacht te besteden aan de volgende parameters:

Het tweede tabblad is “Melding”:

Hier kunnen we het type melding configureren dat we ontvangen over wijzigingen in de map. Standaard verschijnt de melding boven de lade en gaat gepaard met een standaardsignaal. U kunt de waarschuwing echter helemaal uitschakelen, het signaal wijzigen of een waarschuwing instellen via het lokale netwerk.

Als u besluit om aan te passen netwerkmeldingen, lees dan zeker de informatie op de link “ Belangrijke aantekeningen over de werking van de functie."

Het tabblad “Acties” bevat alle functies die beschikbaar zijn voor uitvoering door het programma na het detecteren van wijzigingen in de bewaakte map:

Hier kunnen we configureren:

  • launch specifiek programma of batchscript;
  • het verzenden van een rapport per e-mail;
  • het verzenden van gewijzigde bestanden naar een FTP-server;
  • het kopiëren van gewijzigde bestanden naar een andere map.

Er moet bijzondere aandacht worden besteed aan het werken met e-mailmeldingen. Als u rapporten (evenals gewijzigde bestanden) per e-mail wilt ontvangen Postbus, dan moet u het selectievakje “Rapporten per e-mail verzenden” inschakelen en vervolgens op de geactiveerde knop “Instellingen” klikken:

In het instellingenvenster moeten we de volgende parameters opgeven:

  1. "SMTP-server". Als u online maildiensten gebruikt, komt het serveradres meestal overeen met het adres van de dienst zelf, voorafgegaan door het voorvoegsel "smtp."(Bijvoorbeeld, smtp.mail.ru, smtp.yandex.ru enzovoort.). Mocht dit schema niet werken, kijk dan voor het exacte adres op de helppagina van je provider.
  2. "Postadres". Hier geeft u het adres aan vanwaar het rapport wordt verzonden. Om misverstanden te voorkomen kunt u beter uw eigen e-mailadres opgeven.
  3. Het selectievakje 'Authenticatie vereist'. Als op jouw mail server Voor het verzenden van brieven is autorisatie vereist (meestal voor alle onlinediensten). Vervolgens moet u deze activeren deze optie en geef de login en het wachtwoord voor uw mailbox op.
  4. veld "Ontvangers". Hier voeren we, gescheiden door een puntkomma, een lijst in met adressen waarnaar rapporten worden verzonden.

Daarnaast kunt u letten op de optie “Nieuwe bestanden bijvoegen”. Hiermee kunt u gewijzigde bestanden per e-mail verzenden, samen met een waarschuwing.

Om het internetkanaal niet te overbelasten en niet tevergeefs verkeer te verspillen (als het betaald is), kunt u de grootte van de verzonden bestanden beperken met behulp van de optie "Stuur geen bestanden groter dan ...". Hieronder is er ook een mogelijkheid om integendeel bestanden aan te geven die altijd worden verzonden. Een dergelijk bestand zou bijvoorbeeld een logboek voor programmabewerkingen kunnen zijn.

Zodra de installatie is voltooid, kunt u de juistheid ervan controleren door op de knop "Test" te klikken:

Als alles correct is geconfigureerd, ontvangt u een e-mail met een testbericht.

Het laatste tabblad is “Programma”:

Hier zijn de opties met betrekking tot Algemene instellingen Een eenvoudige waarnemer, zoals automatisch starten wanneer het systeem opstart, automatisch starten het bewaken van mappen, het verbergen van applicaties in de lade, enz. Hier kunt u controleren op updates en de weergave van pop-upberichten activeren (als deze niet standaard zichtbaar zijn).

Een map bewaken in het Simple Observer-programma

Nu u alles naar wens heeft geconfigureerd, kunt u direct aan de slag met het Simple Observer-programma. En allereerst moet u een map opgeven voor monitoring. Standaard is de volledige schijf C: geselecteerd, dus om het pad te wijzigen moet u op de knop "Map" klikken en de gewenste map opgeven in het Verkenner-venster:

Ik heb een aparte testmap op het bureaublad gemaakt, maar de locatie van de map doet er niet toe: het programma werkt even goed met alle schijven. Het is echter de moeite waard om nogmaals te vermelden dat u alleen via Explorer een lokale map kunt opgeven. Om op afstand te monitoren gedeelde map het adres moet worden ingevoerd eerste instellingenvenster!

We zijn er dus allemaal klaar voor: we kunnen beginnen met volgen. Om dit te doen, klikt u op de knop "Start":

Nadat u erop hebt gedrukt, wordt de knop "Stop" geactiveerd, de knop "Map" gedeactiveerd en verschijnt informatie over het tijdstip waarop de map werd gecontroleerd, het aantal wijzigingen daarin en de tijd op de statusregel laatste wijziging. Om het programmavenster te verbergen, minimaliseert u het gewoon en wordt het geminimaliseerd naar de lade. U kunt het loket opnieuw bellen enkele klik via het ladepictogram.

Om de functionaliteit van de Simple Observer te testen, plaatsen we een bestand in onze testmap:

Zoals u kunt zien, heeft het programma de wijzigingen gedetecteerd en ons dat doorgegeven nieuw bestand met een specifieke naam. Er is ook een rapport hierover naar mijn e-mail gestuurd. Een ander kenmerk van het Simple Observer-bericht is dat als u op het meldingsvenster klikt, uw map voor u wordt geopend, waarin het gewijzigde bestand wordt gemarkeerd!

Logboeken bekijken

Zodra Simple Observer de eerste activiteit in de bewaakte map detecteert, wordt er automatisch een bestand aangemaakt bekijk.log. Dit tekstbestand, waarin rapporten van alle gebeurtenissen die plaatsvinden worden vastgelegd en opgeslagen.

Dit bestand kan worden geopend met het gewone Kladblok, maar het is handiger om het te bekijken met de ingebouwde tools van het programma. Om dit te doen, klikt u gewoon op de knop "Loggen":

Hier zullen we gebeurtenisgegevens zien (actie, datum, tijd, bestands- en mapnaam die zijn gewijzigd) en deze snel kunnen vinden de gewenste invoer dankzij het filtersysteem. Er is hier ook een knop waarmee je het logbestand snel kunt wissen als het te “opgezwollen” is :).

Als u de naam en locatie van het logbestand kent, kunt u Simple Observer trouwens zo configureren dat het samen met elk bericht een rapportbestand naar uw e-mail stuurt (zie het gedeelte over instellingen).

Voor- en nadelen van het programma

  • geen installatie vereist;
  • kleine omvang van het hulpprogramma;
  • de mogelijkheid om submappen bij te houden;
  • het verzenden van rapporten per e-mail;
  • het verzenden van meldingen via het lokale netwerk.
  • werkt alleen met één map;
  • zonder vooraf ingesteld verbruikt behoorlijk veel bronnen op oudere pc's;
  • Er is geen manier om de werking van het programma volledig te verbergen met behulp van "standaard" middelen.

conclusies

Tegenwoordig is Simple Observer misschien wel de enige volledig gratis (zelfs voor commercieel gebruik) een programma in zijn soort!

Als u dus koste wat het kost besluit om tijdens uw afwezigheid bewaking van persoonlijke gegevens op uw pc te installeren, dan zult u eenvoudigweg geen andere optie vinden :). Bovendien heeft het programma, afgezien van het ondersteunen van de monitoring van slechts één map, vrijwel geen nadelen.

P.S. Er wordt toestemming verleend om dit artikel vrijelijk te kopiëren en te citeren, op voorwaarde dat er open credit wordt gegeven. actieve koppeling naar de bron en het behoud van het auteurschap van Ruslan Tertyshny.

Ik zou dit artikel willen wijden aan een overzicht van de API's die door verschillende besturingssystemen worden geleverd voor het volgen van wijzigingen in een directory. Het artikel verscheen als resultaat van mijn werk aan daemons voor het bijhouden van wijzigingen voor het hulpprogramma dklab_realsync (github-repository) en mijn eigen, die ik nog niet wil aankondigen.

Windows, ReadDirectoryChangesW

Voor besturingssysteem Windows heeft een geweldige ReadDirectoryChangesW-functie die een reeks wijzigingen voor een map retourneert, inclusief een vlag voor recursief werken (bWatchSubtree). Het implementeren van trackingwijzigingen in een directory is dus niet bijzonder moeilijk, en in dezelfde dklab_realsync kost de implementatie 80 regels code of 3,5 KB. Interessant is dat deze gebeurtenissen op Windows zelfs via SMB worden ondersteund!

Er zijn echter bepaalde valkuilen:

  • eindige grootte van de wijzigingsbuffer, waarna de gebeurteniswachtrij overloopt en deze gebeurtenissen verloren gaan
  • Volgens de documentatie voor het watchdog-pakket wordt de move-gebeurtenis verzonden voordat de wijzigingen zichtbaar worden in het bestandssysteem
  • De buffergrootte is beperkt tot 64 KB voor netwerk-FS

Conclusie: Met de ReadDirectoryChangesW-functie kunt u gemakkelijk alle gebeurtenissen in bestanden te weten komen, maar de gebeurteniswachtrij kan vol raken en dan moet u deze uitvoeren volledige scan FS. Het is ook mogelijk om evenementen op te leveren voordat ze relevant worden.

Mac OS X, FSEvents

Mac OS X heeft ook een handige en eenvoudige API voor het monitoren van wijzigingen in het bestandssysteem, genaamd FSEvents. Met behulp van deze API is de eenvoudigste daemon-implementatie 50 regels code of 1,8 kb. De wachtrij is mogelijk niet vol (!), maar er kan nog steeds een volledige scan nodig zijn als de fseventsd-daemon crasht. Het is vermeldenswaard dat deze API, vóór versie 10.7, geen bestandswijzigingen rapporteert, maar alleen mappen waarin iets is gewijzigd. Omdat gebeurtenissen nergens heen gaan en naar het logboek worden geschreven (de FSEvents-service slaat gebeurtenissen op in een permanente database per volume), kunt u met directory-nauwkeurige details schijfruimte besparen.

Conclusie: De FSEvents API voor Mac OS X is de meest ongebruikelijke van al dergelijke API's. De wachtrij loopt niet over en het is zelfs mogelijk om evenementen uit het verleden te ontvangen. De granulariteit van gebeurtenissen wordt echter gegeven met directoryprecisie (tot en met versie 10.7), wat betekent dat de daemon minder effectief is in het synchroniseren van bestanden.

Linux, notificeer

In de Linux Vanilla-kernel is er één manier om veranderingen in een map bij te houden: inotify. Er is goede en gedetailleerde documentatie voor deze API, maar er is geen ondersteuning voor het recursief bijhouden van wijzigingen! Ook heeft inotify een limiet op het maximale aantal objecten dat kan worden gemonitord. De eenvoudigste implementatie van de daemon vergt al 250 regels code of 8 kb. Een statische build met behulp van Dietlibc duurt ongeveer 14 kb. Aan anderen onaangenaam moment is dat de applicatie zelf de correspondentie moet onderhouden tussen de watch-descriptor (in ons geval is dit altijd een directory) en de naam. Er is een functie inotify_add_watch, die het pad naar de bewaakte map doorgeeft, maar er is geen inverse functie - inotify_get_path, die precies dit pad zou retourneren volgens de doorgegeven descriptor. Gebeurtenissen bevatten alleen een horlogedescriptor en relatief pad naar het gewijzigde bestand in de map.

Valkuilen van recursieve directory-tracking via inotify:

  • Mogelijkheid tot wachtrij-overflow (wachtrijlengte wordt ingesteld in /proc/sys/fs/inotify/max_queued_events)
  • Limiet op het maximale aantal trackingobjecten (ingesteld in /proc/sys/fs/inotify/max_user_watches)
  • Gebrek aan recursieve directory-tracking
  • De noodzaak om de case afzonderlijk af te handelen wanneer een directory wordt aangemaakt (bijvoorbeeld mkdir -p a/b/c). U ontvangt een gebeurtenis dat map “a” is aangemaakt, maar terwijl u een handler aan deze map koppelt, kan er al een andere map in zijn aangemaakt en ontvangt u hierover geen gebeurtenis.
  • Theoretische mogelijkheid van een integer overflow watch descriptor (wd), aangezien deze wordt gespecificeerd door uint32

FreeBSD, Mac OS X, kqueue

FreeBSD en Mac OS X maken het bijhouden van wijzigingen mogelijk met behulp van kqueue, wat qua kenmerken vergelijkbaar is met inotify en ook geen mogelijkheden heeft voor het bijhouden van recursieve mappen. Ook neemt kqueue descriptors als argumenten open bestanden(mappen), dus bij gebruik van deze API zijn de beperkingen op het aantal gecontroleerde mappen zelfs nog strenger.

Totaal:

Zoals u kunt zien, hebben alle API’s hun eigen voor- en nadelen. De minst handige mechanismen zijn kqueue en inotify, maar ze zijn ook het meest effectief en betrouwbaar. Commerciële besturingssystemen bieden handigere mechanismen voor het volgen van wijzigingen, maar ze hebben ook hun eigen kenmerken. Ik hoop dat je nu een beter begrip hebt van de benarde situatie van Dropbox en soortgelijke programma's, die hiermee overweg moeten kunnen en betrouwbare en efficiënte gegevenssynchronisatie moeten uitvoeren :).

*Foto genomen van

Als u niet de enige gebruiker van uw computer bent en wilt weten welke wijzigingen er in het verleden in uw bestanden en mappen zijn aangebracht bepaalde periode tijd die u kunt gebruiken speciale programma's wie zal je helpen bestandswijzigingen bijhouden en krijg exacte informatie over alle wijzigingen in het Windows-bestandssysteem.

Hoe houd ik wijzigingen in bestanden en mappen bij?

In dit artikel laat ik je kennismaken met twee programma's. Met het FolderChangesView-programma en met Schijfhulpprogramma Puls. Beide programma's zijn gratis. FolderChangeView is volledig gratis. Disk Plus heeft gratis en betaalde versie(kleine verschillen)

FolderChangesView: houd wijzigingen in mappen en bestanden bij

FolderChangesView - klein gratis hulpprogramma om alle wijzigingen bij te houden die plaatsvinden in bestanden in specifieke map en sectie harde schijf.

Het hulpprogramma scant vooraf in realtime opgegeven map of een groep mappen en displays gedetailleerde informatie over alle veranderingen. Het volledige resultaat wordt gepresenteerd in een handige tabel.

Eerst moet je het programma downloaden. U kunt FolderChangesView gratis downloaden van de website van de ontwikkelaar. Daar kun je de crack downloaden, die moet worden uitgepakt en in de map met het programma moet worden gegooid.

FolderChangesView instellen

Het programma vereist geen installatie. Na het starten van het programma verschijnt er een instellingenvenster.

Bestandswijzigingen bijhouden met FolderChangesView

In het instellingenvenster moet u een map, meerdere mappen of harde sectie schijf die u moet controleren. IN in dit geval Ik selecteerde de map - spysoftnet en vinkte het vakje aan Scan ook submappen

In de tweede regel van het instellingenvenster kunt u mappen instellen waarvan u niet wilt dat het programma deze bijhoudt. Ik wil bijvoorbeeld niet dat de toepassing wijzigingen in de map tmp controleert. Nadat u de map hebt geïnstalleerd, moet u het selectievakje De volgende mappen uitsluiten aanvinken.

U kunt ook het minimum en instellen maximumgrootte bestand. Nadat alle instellingen zijn geselecteerd, klikt u op OK

Disk Pulse: programma voor het bewaken van bestanden en mappen

DiskPulse is een ander programma voor het monitoren van bestanden, mappen en harde schijven, waarmee wijzigingen in het Windows-bestandssysteem in realtime kunnen worden weergegeven.


DiskPulse: hoe u wijzigingen in bestanden en mappen bijhoudt

Het programma heeft naar mijn mening een zeer interessante mogelijkheid om meldingen door te sturen e-mail of executie aangepaste opdrachten(acties) bij detectie van allerlei gevaarlijke kritische veranderingen in het systeem.

Als u alle standaardinstellingen ongewijzigd laat, ontvangt u informatie over alle wijzigingen in het gehele systeem. Maar als je wat dieper in de opties graaft, kun je de hoeveelheid data verminderen. In de onderstaande afbeelding zie je hoe gemakkelijk je dit met een paar klikken kunt doen.


DiskPulse: Selecteer een map of harde schijf

IN laatste versie een grafiek toegevoegd met het aantal bestanden, hun typen, enz. bruikbare informatie.


DiskPulse: programma voor het bewaken van bestanden en mappen

Download DiskPulse gratis van de website van de ontwikkelaar kunt u .

Laten we het samenvatten. Beide programma's werken prima en kunnen de basisfunctie van het monitoren van bestanden en mappen aan, en verdienen de aandacht. Programma " MapwijzigingenWeergave“Ik vond het programma leuker. Hoewel het tweede programma functioneler is. De programma's zijn gratis en bevatten geen virussen, dus probeer ze allebei en beslis zelf welke je gebruikt.


Deze hulpprogramma's helpen bij het volgen van gebruikersactiviteiten, maar ook bij het identificeren en analyseren verborgen werk malware. Over wat malware bestaan, schreven we in het artikel -.

Deze recensie bevat niet nog twee programma's voor het monitoren van bestanden en mappen. Die ik in het volgende artikel zal beoordelen. Om geen updates te missen, abonneert u zich daarom op onze openbare pagina op VKontakte en andere sociale netwerken.

Video: Schijfbeoordeling Puls

Als u niet de enige pc-gebruiker bent, moet u, nadat u de machine lange tijd niet hebt gebruikt, wellicht nagaan welke veranderingen er in deze periode precies hebben plaatsgevonden. Er kunnen zich ook situaties voordoen waarin HDD toont activiteit, maar je kunt niet echt zien of het bezig is met verwerken nuttige processen of er wordt malware uitgevoerd. Het FolderChangesView-programma helpt u wijzigingen in bestanden bij te houden en actuele informatie te krijgen over alle wijzigingen in het bestandssysteem.

FolderChangesView is een klein hulpprogramma dat speciaal is ontworpen om alle wijzigingen in bestanden en mappen bij te houden. Het programma geeft in realtime alle wijzigingen weer die optreden bij bestanden, en het volledige resultaat wordt in een handige tabel aan de gebruiker getoond. Je kunt het programma zelf downloaden van de officiële website van de ontwikkelaar via de link (daar kun je ook de crack downloaden, die wordt geïnstalleerd door deze eenvoudigweg naar de map met de applicatie te verplaatsen): http://www.nirsoft.net/ utils/folder_changes_view.html

Het programma instellen

Het hulpprogramma vereist geen installatie, omdat het archief slechts één .exe-bestand bevat. Het wordt aanbevolen om te creëren aparte map voor het programma download je de crack en upload je deze twee bestanden ernaar. Na het opstarten wordt het configuratiemenu voor u geopend (als u het programma afsluit en opnieuw opent, verschijnt het menu weer voor u).

Hier moet u de schijf, de mappen of de volledige harde schijfpartitie selecteren die u wilt analyseren. Laat bij het selecteren van een map “Ook submappen scannen” aangevinkt. U heeft ook de mogelijkheid om mappen op te geven die niet gemonitord hoeven te worden: u moet het pad naar de map opgeven en het vakje naast “De volgende mappen uitsluiten” aanvinken.
Nou ja, concluderend uit nuttige instellingen u kunt de grootte instellen van de te monitoren bestanden. Nadat u deze basisinstellingen hebt geselecteerd, klikt u eenvoudig op “Ok” en het proces van het controleren van de geselecteerde mappen begint.