Mircea MITU scria la data de 6 Februarie 2006:
> On Mon, 2006-02-06 at 19:53 +0200, Liviu Daia wrote:
> >     As vrea sa folosesc dnotify impreuna cu rsync pentru a mirror-a
> > fisierele dintr-un director pe o alta masina.
> >
> >     Independent de asta, directorul /dir este exportat prin Samba
> > intr-o mica retea (~20 masini), de unde user-ii pot adauga, sterge,
> > modifica etc. fisiere.  Modificarile se fac manual (nu varsa nimeni
> > mai mult de 100 de fisiere intr-o singura operatie), si in general
> > in /dir nu vor fi niciodata mai mult de 1000 de fisiere.  Unele
> > fisiere pot fi insa mari (~100 MB).
> >
> >     Problemele pe care le vad in aceasta abordare:
> >
> > (1) Nu ma pot lega de operatia de inchidere a fisierelor, deci rsync
> > ar putea fi chemat inainte ca unele fisiere (mari) sa fie complet
> > copiate in /dir.  Ar putea sa ma salveze insa "--atrib".
> >
> > (2) Scriptul pare sa fie apelat pentru fiecare operatie, inclusiv
> > pentru write(2)-uri incomplete.  Este posibil ca rsync sa fie chemat
> > de sute de ori pentru un singur fisier mare, si nu vad nici o cale
> > de a limita asta.

    Intre timp am mai descoperit inca o problema:

(3) Daca un director e creat in /dir, dnotify nu il adauga automat la
    lista directoarelor monitorizate.

Asta e probabil un bug in dnotify. :-)

> >     Tinand cont de aceste probleme, este realist scenariul de mai
> > sus?
>
> Nu, cel putin nu cu dnotify.
>
> > A mai incercat cineva asta?  Idei de imbunatatire?
>
> Daca tot folosesti Samba, poti rezolva direct din Samba, printr-un vfs
> custom.

    Intrebarea mea viza mai mult utilitatea lui F_NOTIFY sub Linux, dar
ok, o solutie pentru Samba e interesanta in sine.

> VFS-ul de BitDefender for Samba de exemplu rezolva atat (1) cat si
> (2), luand o anume actiune asupra unui fisier la open si/sau la close,
> dupa dorinte (in bd e both din motive oarecum evidente).
>
> Poti folosi bd-vfs din bd-samba (ca deh, e gpl) inlocuind actiunea de
> scanare la close cu propriul script (din cate vad, te intereseaza doar
> la close(2) sa executi rsync).

    Ideal rsync ar trebui apelat o singura data.  Timing-ul update-ului
nu e critic la nivel de secunde, deci asta s-ar putea face cu alarm(2),
si ar chema rsync de exemplu la 10 s dupa inchiderea ultimului fisier.

> Iti pot trimite vfs-ul direct (180k, din care utili doar 7k ;p) daca
> nu doresti sa descarci intreg kit-ul.

    Ok, multumesc!

    Salutari,

    Liviu Daia

-- 
Dr. Liviu Daia                                  http://www.imar.ro/~daia

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui