Langue: en

Version: 07/11/2010 (ubuntu - 24/10/10)

Section: 5 (Format de fichier)


lsyncd.conf.xml - xconfig file for lsyncd


lsyncd.conf.xml is used to configure the lsyncd daemon.

Note that any command line options can overrule settings in the config file. A lsyncd configuration file has an XML grammar. That means tags have to be closed with a / and the such. Following explanations will be provided with an examples.

The config file must start with a <lsyncd> root node. A "version" parameter has to be present which specifies the lsyncd version of the config file format. Currently this is 1.

 <lsyncd version="1">


Next is optionally a <settings> node. It controls lsyncd global settings. All settings are optional.


If a <debug/> node is present all debug messages will be logged. Default is a normal verbosity.


If <delay/> specified by the "value" parameter is greater than zero, lsyncd waits this amount of seconds between an event and calling the binary. All events for a directory in this timeframe will be aggregated to one call. If delay is 0 changes will be handlet immediatly. Default is 5 seconds.


If a <scarce> node is present only error messages will be logged. Default is a normal verbosity.


If a <stubborn> node is present lsyncd will continue even if the startup sync fails. Default is being not stubborn.


If a <no-daemon> node is present lsyncd will not detach and log to stdout/stderr. Default is to detach as daemon.


If a <dry-run> node is present lsyncd will not call any actions (rsync) for test purposes. Default is not to run dry.


With an <exclude-from> entry an exclusion file can be specified with a "filename" parameter. This will be passed to rsync and follows rsyncs grammar for exclude files. Default is not to pass an exlude file to rsync.

     <exclude-from filename="/etc/lsyncd.exclude"/>

With a <logfile> node to location of the logfile can be changed. Default is /var/log/lsyncd. Take care that the user which lsyncd is running with can write to this file.

     <logfile filename="/var/log/lsyncd"/>

A <binary> node specifies the binary lsyncd will call to sync stuff. Usually you want this to be rsync. Default is /usr/bin/rsync.

     <binary filename="/usr/bin/rsync"/>

If a <pidfile> node is present lsyncd will write its pid there. Default is not to write a pidfile.

     <pidfile filename="/var/run/"/>

With a <callopts> node you can control the arguments lsyncd will call the <binary> (rsync) with. Each child node will specify one argument. <option> specifies a literal argument. Only %r will be replaced with 'r' when rsycnd is supposed to work recursive (on startup of lsyncd) or 'd' on normal operations. <exclude-file> will be replaced with --exclude-from [FILE] if an <exclude-from> file is specified. <source> will be replaced the source directory to sync from. <destination> will be replace to the target to sync to. Default arguments are -lt%r --delete {--exclude-from [FILE]} [SOURCE] [DIRECTORY].

         <option text="-lt%r"/>
         <option text="--delete"/>

End of (optional) settings section.



With <directory> nodes arbitrarily many sources to be watched can be specified. Within a <directory> entry you can again specify a <binary>, <exclude-from> or a <callopt> node which will override global settings just for this source. See SETTINGS for details on this options.

The mandatory <source> node specifies with the parameter "path" the directory to watch and sync. (once in a while something is mandatory. Also at least one <target;> node has to specified where to sync to. This has to be a format accepted by rsync.

     <source path="/absolute/path/to/source"/>
     <target path="desthost::module/"/>

End of a lsyncd.conf.xml file.




The default location of the configuration file.




Axel Kittenberger <>


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.