csync2 - cluster synchronization tool, 2nd generation
csync2 [-v..] [-C config-name] [-D
database-dir] [-N hostname] [-p port]...
csync2 is copyright © 2004 - 2017 by LINBIT Information
Technologies GmbH
- http://www.linbit.com
csync2 is distributed under the GNU General Public License. See
the file COPYING for details.
This manual page documents briefly the csync2 command.
A verbose manual can be found on the
csync2
homepage:
- http://oss.linbit.com/csync2/paper.pdf
csync2 is a program for cluster wide file
synchronization.
- -c
- Check all hints in db and eventually mark files as dirty
-u [-d] Update (transfer dirty files to peers and mark
as clear)
- -H
- List all pending hints from status db
- -L
- List all file-entries from status db
- -M
- List all dirty files from status db
- -S myname peername
- List file-entries from status db for this synchronization pair.
- -T
- Test if everything is in sync with all peers.
- -T filename
- Test if this file is in sync with all peers.
- -T myname
peername
- Test if this synchronization pair is in sync.
- -T myname peer
file
- Test only this file in this sync pair.
- -TT
- As -T, but print the unified diffs.
- -R
- Remove files from database which do not match config entries.
- -i
- Run in inetd server mode.
- -ii
- Run in stand-alone server mode.
- -iii
- Run in stand-alone server mode (one connect only).
- -l
- Send some messages to syslog instead of stderr to not clobber the protocol
in case stdout and stderr point to the same fd. Default for inetd
mode.
- The modes -H, -L, -M and -S return 2 if the
requested db is empty. The mode -T returns 2 if both hosts are in
sync. Otherwise, only exit codes 0 (no errors) and 1 (some unspecified
errors) are expected.
- -r
- Recursive operation over subdirectories
- -d
- Dry-run on all remote update operations
- -B
- Do not block everything into big SQL transactions. This slows down csync2
but allows multiple csync2 processes to access the database at the same
time. Use e.g. when slow lines are used or huge files are
transferred.
- -A
- Open database in asynchronous mode. This will cause data corruption if the
operating system crashes or the computer loses power.
- -N address
- When running in stand-alone mode with -ii bind to a
- specific interface. You can pass either a hostname or ip address. If used,
this value must match exactly the host value in each csync2.cfg file.
- -I
- Init-run. Use with care and read the documentation first! You usually do
not need this option unless you are initializing groups with really large
file lists.
- -X
- Also add removals to dirty db when doing a -TI run.
- -U
- Don't mark all other peers as dirty when doing a -TI run.
-G Group1,Group2,Group3,...
- Only use these groups from config-file.
-P peer1,peer1,...
- Only update these peers (still mark all as dirty). Only show files for
these peers in -o (compare) mode.
- -F
- Add new entries to dirty database with force flag set.
- -t
- Print timestamps to debug output (e.g. for profiling).
-s filename
- Print timestamps also to this file.
- -W fd
- Write a list of directories in which relevant files can be found to the
specified file descriptor (when doing a -c run). The directory
names in this output are zero-terminated.
-D database-dir or url
- default: /var/lib/csync2
Absolute path: use sqlite database in that directory.
- URLs:
sqlite:///some/path[/database.db3]
sqlite3:///some/path[/database.db3]
sqlite2:///some/path[/database.db]
mysql://[<user>:<password>@]<hostname>/[database]
pgsql://[<user>:<password>@]<hostname>/[database]
- If database is not given, it defaults to csync2_<qualified
hostname>
- Note that for non-sqlite backends, the database name is
"cleaned", characters outside of [0-9][a-z][A-Z] will be
replaced with _.
- CSYNC2_SYSTEM_DIR
- Directory containing csync2.cfg and other csync2 system files. Defaults to
/etc.
Csync2 will refuse to do anything if this file is found:
$CSYNC2_SYSTEM_DIR/csync2.lock