Back to project page


continual-sync - keep duplicates of directory trees in sync


continual-sync [OPTION...] [SECTION...]
continual-sync [-h|-V]


continual-sync synchronises one directory tree with another, using rsync(1), and efficiently keeps it up to date by using watchdir(1) to watch for changes and then re-running rsync on only those files and directories which have changed.

It can be used to mirror directories between machines asynchronously, for instance backing up your local files to an off-site file server.

One synchronisation process is spawned for every SECTION listed on the command line. If none are listed, then a process is spawned for every section defined by the configuration files (except the special defaults section).

Some example configuration files are included with the documentation of this package. If you used the RPM install, then they will be installed in your system's default documentation directory, such as /usr/share/doc/continual-sync-0.0.5/.


-c, --config FILE
Read configuration details from FILE instead of the default /etc/continual-sync.conf.

This option can be specified multiple times to read multiple configuration files, or you can use the include directive within a file - see continual-sync.conf(5).

-D, --daemon PIDFILE
Run as a daemon (detach from the controlling terminal and run in the background), and write the daemon's process ID to PIDFILE.
-h, --help
Print a usage message on standard output and exit successfully.
-V, --version
Print version information on standard output and exit successfully.


If you watch a lot of directories, you will probably need to increase the kernel parameter fs.inotify.max_user_watches, for example:

sysctl -w fs.inotify.max_user_watches=1048576

You may also need to increase fs.inotify.max_user_instances.


As with watchdir(1), source directories with a large number of subdirectories will not start synchronising until the initial scan has completed, which may take a few minutes.

Changes involving files or directories which are not readable will not be picked up by a partial sync, and may result in synchronisations failing.

Changes which do not modify the contents of a file - for example, changing permissions - are not picked up by a partial sync.


Report bugs in continual-sync to or use the contact form linked from the package home page: <>


continual-sync.conf(5), watchdir(1), rsync(1), lsyncd(1), rsync-inotify(1), inosync(1)


This is free software, distributed under the ARTISTIC 2.0 license.

Back to project page