Continual Sync: Online Manual

← Back to the 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, such as under /usr/share/doc/continual-sync-0.1.0/.


-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)


Copyright 2014, 2021, 2023 Andrew Wood.

License GPLv3+: GNU GPL version 3 or later <>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

← Back to the project page