2011-10-22 3 views
8

C'è una soluzione per il kernel Linux-3.0 (o successivo) che consente di ottenere notifiche simili a inotify che descrivono un particolare segmento di file che è stato modificato?Come si può monitorare quale parte del file grande è cambiato

C'era la patch fschange per un massimo di kernel-2.6.21. È disponibile una soluzione aggiornata? Il recente fanotify è in grado di fornire la funzionalità?

risposta

0

Non che io sappia, ma esiste un modo per suddividere la funzionalità utilizzando la notifica di modifica file come indicatore per leggere il formato su disco del file system e esaminare le tabelle interne di allocazione dei blocchi del file system per impara cosa è cambiato.

E 'difficile da fare, soffre di condizioni di gara e probabilmente una cattiva idea, ma se si deve e codifica un fschange sulla parte superiore del 3.0 non è un'opzione per voi, potrebbe essere la strada da percorrere.

+0

Le "tabelle di allocazione dei blocchi del file system interno" non sono diverse dal filesystem al filesystem? – myroslav

+0

Sì, lo sono. la soluzione dovrebbe essere codificata per ogni file system. – gby

+1

Il porting di fschange sembra essere uno sforzo minore. – myroslav

1

IMO ... dimenticare di utilizzare inotify a meno che "il bello" sia importante. Oltre a questo, puoi configurare un cronjob con uno script che esegue una diff o utilizzando FIND con l'opzione MTIME.

Problemi correlati