Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets
Go to file
Axel Kittenberger 6a5246070f lsyncd.1.xml no longer needed 2012-04-04 13:54:13 +02:00
doc preparing 2.0.6 2012-02-16 08:30:53 +01:00
examples Fixed typo on option name (table index). 2012-02-11 00:37:17 +00:00
tests removed e2s to reduce weak tables logic complexity 2012-03-21 11:39:52 +01:00
.gitignore luac.c is no longer generated 2012-03-23 10:01:28 +01:00
COPYING gpl info 2010-11-16 21:28:46 +00:00
ChangeLog lsyncd.1.xml no longer needed 2012-04-04 13:54:13 +02:00
Makefile.am lsyncd.1.xml no longer needed 2012-04-04 13:54:13 +02:00
README.md Added 'delete=false' flag. if deleting set rsync to force it (otherwise this could result in some deletes not being transfered in the tests 2012-02-16 08:28:40 +01:00
autogen.sh coded a lua hello world 2010-10-14 13:52:01 +00:00
bin2carray.lua fix script integration 2011-05-04 13:18:37 +00:00
configure.ac changed asciidoc generation to a2x. removed currently broken feature --with-default-runner. preparing 2.0.7 2012-04-04 13:15:33 +02:00
default-direct.lua Correct small syntax error/typo 2012-03-15 10:07:42 +08:00
default-rsync.lua move recursive Create creation on dirs into delays 2012-02-16 15:36:28 +01:00
default-rsyncssh.lua Added 'delete=false' flag. if deleting set rsync to force it (otherwise this could result in some deletes not being transfered in the tests 2012-02-16 08:28:40 +01:00
default.lua splittet default configs into seperated files 2012-02-15 20:00:28 +01:00
fsevents.c code beautification 2012-01-27 12:08:10 +01:00
inotify.c Issue 115, fix by semerad 2012-03-16 16:30:55 +01:00
lsyncd.c changed asciidoc generation to a2x. removed currently broken feature --with-default-runner. preparing 2.0.7 2012-04-04 13:15:33 +02:00
lsyncd.h improved comments 2012-02-15 20:10:50 +01:00
lsyncd.lua changed asciidoc generation to a2x. removed currently broken feature --with-default-runner. preparing 2.0.7 2012-04-04 13:15:33 +02:00

README.md

Lsyncd -- Live Syncing (Mirror) Daemon

Description

Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. 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.

Rsync+ssh is 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.

Fine-grained customizaton can be achieved through the config file. Custom action configs can even be written from scratch in cascading layers ranging from shell scripts to code written in the Lua language This way simplicity can be balanced with powerfulness. See the manual for details Lsyncd20Manual

License: GPLv2 or any later GPL version.

When to use

Lsyncd is designed to synchronize a local directory tree with low profile of expected changes to a remote mirror. Lsyncd is especially useful to sync data from a secure area to a not-so-secure area.

Other synchronization tools

DRBD operates on block device level. This makes it useful for synchronizing systems that are under heavy load. Lsyncd on the other hand does not require you to change block devices and/or mount points, allows you to change uid/gid of the transferred files, separates the receiver through the one-way nature of rsync. DRBD is likely the better option if you are syncing Databases.

GlusterFS and BindFS use a FUSE-Filesystem to interject kernel/userspace filesystem events.

Lsyncd usage examples

lsyncd -rsync /home remotehost.org::share/

This watches and rsycn´s the local directory /home with all subdirectories and transfers them to 'remotehost' using the rsync-share 'share'.

lsyncd -rsyncssh /home remotehost.org backup-home/

This will also rsync/watch '/home', but it uses a ssh connection to make moves local on the remotehost instead of retransmitting the moved file over the wire.

Some more complicated examples, tips and tricks you can find in the Lsyncd20Manual.

Disclaimer

Besides the usual disclaimer in the license, we want to specifically emphasize that neither the authors nor any organization the authors are associated with can and will hold responsible for data-loss caused by possible malfunctions of Lsyncd.