lsyncd/doc/manpage.lsyncd.xml

338 lines
12 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
`xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
manpage.xml'
A manual page <package>.<section> will be generated. You may view the
manual page with: nroff -man <package>.<section> | less'. A typical entry
in a Makefile or Makefile.am is:
DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
manpage.1: manpage.xml
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.
Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1> ... </refsect1>.
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
-->
<!ENTITY dhpackage "lsyncd">
]>
<refentry>
<refentryinfo>
<title>lsyncd User Manual</title>
<productname>lsyncd</productname>
<authorgroup>
<author>
<firstname>Junichi</firstname>
<surname>Uekawa</surname>
<contrib>Wrote this manpage for the Debian system.</contrib>
<address>
<email>dancer@debian.org</email>
</address>
</author>
<author>
<firstname>Axel</firstname>
<surname>Kittenberger</surname>
<contrib>Strives to keep this up to date.</contrib>
<address>
<email>axel.kittenberger@univie.ac.at</email>
</address>
</author>
</authorgroup>
<copyright>
<year>2008</year>
<holder>Junichi Uekawa, Axel Kittenberger</holder>
</copyright>
<legalnotice>
<para>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.</para>
</legalnotice>
</refentryinfo>
<refmeta>
<refentrytitle>LSYNCD</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>A rsync-based tool to monitor a directory including subdirectories and update modifications.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- These are several examples, how syntaxes could look -->
<arg choice="opt"><option>--binary <parameter>FILE</parameter></option></arg>
<arg choice="opt"><option>--conf <parameter>FILE</parameter></option></arg>
<arg choice="opt"><option>--debug</option></arg>
<arg choice="opt"><option>--dryrun</option></arg>
<arg choice="opt"><option>--exclude-file <parameter>FILE</parameter></option></arg>
<arg choice="opt"><option>--logfile <parameter>FILE</parameter></option></arg>
<arg choice="opt"><option>--no-daemon</option></arg>
<arg choice="opt"><option>--pidfile <parameter>FILE</parameter></option></arg>
<arg choice="opt"><option>--scarce</option></arg>
<arg choice="opt"><option>--stubborn</option></arg>
<arg choice="opt"><replaceable>source</replaceable></arg>
<arg choice="opt"><replaceable>target...</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- Normally the help and version options make the programs stop
right after outputting the requested information. -->
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>--help</option></arg>
</group>
</arg>
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>--version</option></arg>
</group>
</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para><command>&dhpackage;</command> is a program that uses rsync
to synchronize local directories with a or several remote machine(s)
running rsyncd. Lsyncd watches multiple directory trees through
inotify. On startup it will rsync all directories with the remote
host(s), and then sync single directories by collecting the inotify
events. This tool is a light-weight live mirror solution.
</para>
</refsect1>
<refsect1 id="options">
<title>OPTIONS</title>
<para>The program takes options starting with two dashes (`-'). A summary of
options is included below.</para>
<variablelist>
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry>
<term><option>--binary <parameter>FILE</parameter></option></term>
<listitem>
<para>Call this binary to sync (DEFAULT: /usr/bin/rsync).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--conf <parameter>FILE</parameter></option></term>
<listitem>
<para>config file to read config from. See <citerefentry> <refentrytitle>lsyncd.conf.xml</refentrytitle><manvolnum>5</manvolnum></citerefentry></para>
<para>Default: <filename>/etc/lsyncd.conf.xml</filename> if no <option>source</option>, <option>target</option> is given in the commandline. If they are given and <arg>--conf</arg> is not given no config file will be loaded.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug</option></term>
<listitem>
<para>Log debug messages</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--dryrun</option></term>
<listitem>
<para>Do not call rsync, run dry only</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--exclude-file <parameter>FILE</parameter></option></term>
<listitem>
<para>Exclude file handlet to rsync (DEFAULT: None).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--logfile <parameter>FILE</parameter></option></term>
<listitem>
<para>Put log here (DEFAULT: /var/log/lsyncd).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-daemon</option></term>
<listitem>
<para>Do not detach, log to stdout/stderr.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--pidfile <parameter>FILE</parameter></option></term>
<listitem>
<para>Create a file with pid of application.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--scarce</option></term>
<listitem>
<para>Only log errors.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--stubborn</option></term>
<listitem>
<para>Continue even if startup sync fails.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--help</option></term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--version</option></term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="files">
<title>FILES</title>
<variablelist>
<varlistentry>
<term><filename>/etc/lsyncd.conf.xml</filename></term>
<listitem>
<para>The default location of configuration file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/var/log/lsyncd</filename></term>
<listitem>
<para>The default location of log file. Make sure the
running user has write access to this file, or specify a
different log file name.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="diagnostics">
<title>DIAGNOSTICS</title>
<!-- There are actually now a lot of errors that can be present at
stderr if something is wrong in the config file. Leave this
section for now. -->
<!--para>The following diagnostics may be issued
on <filename class="devicefile">stderr</filename>:</para>
<variablelist>
<varlistentry>
<term><errortext>Out of memory!</errortext></term>
<listitem>
<para>It might get out of memory.
</para>
</listitem>
</varlistentry>
</variablelist-->
<para><command>&dhpackage;</command> provides some return codes, that can
be used in scripts:</para>
<segmentedlist>
<segtitle>Code</segtitle>
<segtitle>Diagnostic</segtitle>
<seglistitem>
<seg><errorcode>0</errorcode></seg>
<seg>Program exited successfully.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>1</errorcode></seg>
<seg>Out of memory.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>2</errorcode></seg>
<seg>File was not found, or failed to write.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>3</errorcode></seg>
<seg>binary (most likely rsync) returned non-zero result on startup.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>4</errorcode></seg>
<seg>Something wrong the command-line arguments in the lsyncd invocation.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>5</errorcode></seg>
<seg>Too many exclude files were specified.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>6</errorcode></seg>
<seg>Something wrong with the config file.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>7</errorcode></seg>
<seg>Kernel cannot do inotify.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>255</errorcode></seg>
<seg>Internal failure.</seg>
</seglistitem>
</segmentedlist>
</refsect1>
<!--refsect1 id="bugs">
<!- Or use this section to tell about upstream BTS. ->
<title>BUGS</title>
<para>TBD.</para>
</refsect1-->
<refsect1 id="see_also">
<title>SEE ALSO</title>
<!-- In alpabetical order. -->
<para>
<citerefentry>
<refentrytitle>lsyncd.conf.xml</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
<citerefentry>
<refentrytitle>rsync</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</para>
<para>The programs are documented fully in README file available
in <filename>/usr/share/doc/lsyncd/README.gz</filename>.</para>
</refsect1>
</refentry>