csync2 - Man Page

cluster synchronization tool, 2nd generation


csync2 [-v..] [-C config-name] [-D database-dir] [-N hostname] [-p port]...


This manual page documents briefly the csync2 command.
A verbose manual can be found on the csync2 homepage:


csync2 is a program for cluster synchronization.


With file parameters:
-h [-r] file..

Add (recursive) hints for check to db

-c [-r] file..

Check files and maybe add to dirty db

-u [-d] [-r] file..

Updates files if listed in dirty db

-f file..

Force this file in sync (resolve conflict)

-m file..

Mark files in database as dirty

Simple mode:
-x [-d] [[-r] file..]

Run checks for all given files and update remote hosts.

Without file parameters:

Check all hints in db and eventually mark files as dirty

-u [-d]

Update (transfer dirty files to peers and mark as clear)


List all pending hints from status db


List all file-entries from status db


List all dirty files from status db

-S myname peername

List file-entries from status db for this synchronization pair.


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.


As -T, but print the unified diffs.

Notice:  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.

Run in inetd server mode.


Run in stand-alone server mode.


Run in stand-alone server mode (one connect only).


Remove files from database which do not match config entries.


Recursive operation over subdirectories


Dry-run on all remote update operations


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.


Open database in asynchronous mode. This will cause data corruption if the operating system crashes or the computer loses power.


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.


Also add removals to dirty db when doing a -TI run.


Don't mark all other peers as dirty when doing a -TI run.

-G Group1,Group2,Group3,...

Only use this groups from config-file.

-P peer1,peer1,...

Only update this peers (still mark all as dirty).


Add new entries to dirty database with force flag set.


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 file can be found to the specified file descriptor (when doing a -c run). The directory names in this output are zero-terminated.

Creating key file:

csync2 -k filename

Warning: Csync2 will refuse to do anything when a /etc/csync2.lock file is found.

See Also



csync2 was written by Clifford Wolf <clifford@clifford.at>.

This manual page was written by Michael Prokop <mika@grml.org>, for the Debian project (but may be used by others). It is now further maintained by Clifford Wolf.


September 23, 2005