lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Dear Lua community,

There is now yet another project now taking use of Lua! Lsyncd version 2

http://code.google.com/p/lsyncd/

Lsyncd watches local directory trees via an event monitor interface
(right now only Linux inotify). It aggregates and combines events for
a few seconds and then spawns one (or more) process(es) to synchronize
the changes to remote instances. By default this is rsync. Lsyncd is
thus a light-weight live mirror solution that is comparatively easy to
install not requiring new filesystems or blockdevices and does not
hamper local filesystem performance (compare to "big" solutions like
DRBD or GlusterFS). New in version 2 is rsync+ssh as an advanced
action configuration that uses a SSH to act file and directory moves
directly on the target instead of retransmitting the move destination
over the wire.

Version 1 was written in pure C and used XML for configuration. I
looked for a new more flexible method to configure and picked Lua, and
while I was with it, I reimplemented now the larger part of the daemon
itself in Lua. Lsyncd still comes with its own core in C tough, doing
all the stuff rather close the Operating System (kernel): the event
monitor interface (inotify), daemon detach, child process management
(runs multiple processes, and pushes them stdin pipes), signals, file
descriptor watching, time span measurement with any Y2K38 or so break
date jiffes/times(), logging facilities, etc.

Kind regards,
Axel