inotify, inotify-tools i incron: un gran descobriment per substituir dnotify

Reading time: 4 – 6 minutes

Fa forces anys, vaig parlar del dnotify és una eina que ens permetia saber quan hi havia un canvi en els fitxers d’un directori, llavors aprofitabem per llençar un procés al produir-se l’event. Com que l’arquitectura interna del programa comentat no era massa bona (controlava els canvis a base de fer pooling) i degut a les millores dels nous kernel, s’ha aprofitat el concepte de l’inotify: inotify is a Linux kernel subsystem that provides file system event notification..

Així doncs, les inotify-tools són les eines que ens permeten usar aquesta funcionalitat del kernel des de l’espai d’aplicacions d’usuari. Realment un passada. Permeten vigilar un fitxer, per generar-ne estadístiques, llençar processos associats quan es detecti un determinat canvi en el fitxer, etc. Però potser la funcionalitat que més m’ha interessat és la de la llibreria que ofereix per programar aplicacions usant les funcionalitats de l’inotify.

Concretament aquestes llibreries són les necessaries per compilar el incron. Per mi l’aplicació final més genial de totes: es tracta d’un ‘inotify cron’. Bàsicament l’eina es composa de dues parts d’un dameon i d’una taula d’accions. Aquesta taula s’usa d’una forma semblant al servei de cron. La diferència és que els events no són senyals horaris, sinó captures d’evenets del sistema de fitxers.

Un exemple d’especte que pot tenir el incrontab -l:

/var/mail IN_CLOSE_WRITE abc $@/$#

Això captura l’event cada cop que s’hagi canviat un fitxer (IN_CLOSE_WRITE) dins del directori /var/mail, després llença el programa abc passant com a paràmetre el path/file_name. Com podeu veure la potència és infinita i la simplicitat d’ús és impressionant. Potser el que més m’agrada és el fàcil que és tenir centrilitzats tots els directoris que estic controlant i les accions associades. Per exemple, és ideal per mantenir un RSS de les novetats de música, video, descàrregues, etc.

0 thoughts on “inotify, inotify-tools i incron: un gran descobriment per substituir dnotify”

  1. brainstorm

    Yet another idea: A esCERT tenim un projectista al que li hem encarregat (fa unes setmanes) que integri inotify amb bacula, seria com un tripwire-ng, notificant dels canvis al FS instantàniament, comparant hashos, continguts, etc…

    Per a detectar intrusions sense que a un atacant doni temps d'esborrar evidències (la finestra d'oportunitat que donaria un cron stàndar, p.ex)…

    A més, pròpiament com a sistema de backups a curt termini pot anar de perles (d'aqui la idea d'integrar-ho amb bacula).

  2. [1]

    Ostres, és súper interessant… quan tingueu alguna cosa digue-m'ho ,si us plau. Ja que encara no me liat amb el Bacula, però ho tindria en compte fer-ho.

    Per cert, saps d'alguna comparació entre Bacula i Amanda?

  3. Encara no t'ha arribat el Dell XPS m1330??
    Estic esperant el review amb candeletesssss 😀
    Salut!

  4. [3]

    Doncs hem sap greu però hauràs de seguir esperant. Perquè malgrat ja el tinc i a més tinc un milió de coses a explicar sobre ell. No tinc pas de temps de liar-me a escriure al blog com hauràs notat vaig a contra rellotge per 2 projectes de la feina i no faig res més que treballar tot el dia i la part de la nit q m'aguanta el cos. Així doncs, hauràs de tenir paciència.

    La valoració boníssima… un 8.5 sobre 10. Però pensa també que jo sóc molt exigent. Per cert, això de tenir 4Gb de RAM és un luxe no ho canvio per res del món. De fet, divendres m'arriba un servidor HP que m'he comprat per casa i tb li he posat 4Gb de RAM per llençar diverses màquines virtuals sobre d'ell.

  5. brainstorm

    [2] Doncs no en sé de cap comparativa "seriosa", però almenys dos colegues que treballen a universitats han migrat i estan molt contents… sembla que avui en dia bacula és "the way to go" en temes de backup lliure.

    Concretament han migrat de amanda->bacula un cas i l'altre de legato (sun storedge enterprise)->bacula (en aquest cas encara estan en proves, xo sembla que es quedaran amb aquesta solució).

    Vagi bé mestre !

Últimas entradas

Archivo
Scroll to Top