- C 85.8%
- Shell 11.5%
- Makefile 2%
- M4 0.7%
| docs | Note that this will no longer compile on CentOS 5 or 6. | |
| misc | Add a default value for the section list file parameter ( #8 ). | |
| po | Translated using Weblate (German) | |
| src | Avoid a possible size_t underflow. | |
| tests | Correct the section list file path. | |
| .gitignore | First draft of internationalisation support ( #6 ). | |
| configure.ac | Further tweaks to try to make the gettext macros behave. | |
| Makefile.am | Add a partial skeleton of a Checkmk monitoring script ( #8 ). | |
| README.md | Update the copyright year. | |
Introduction
This is the README for continual-sync, a tool to keep a directory
synchronised with its mirror. It uses the inotify change notification
mechanism to efficiently trigger calls to rsync, only including the
relevant paths in each call.
It can be used to mirror directories between machines automatically, for instance backing up your local files to an off-site file server, with minimal overhead.
The package also includes watchdir, which monitors one or more directories and regularly generates lists of the files and directories that have changed within them.
Documentation
Manual pages are included in this distribution. Use the "man" command
after installation to view the manuals for
continual-sync,
watchdir, and
continual-sync.conf.
Changes are listed in "docs/NEWS.md".
Developers and other contributors, please see "docs/DEVELOPERS.md".
Installation
See "docs/INSTALL" for more about the configure script.
The typical process for a system-wide install is:
sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install
This requires the build toolchain ("sudo apt install build-essential" on
Debian or Ubuntu systems).
If this is not a packaged release, the configure script is not included.
It is generated with the GNU build system tools (autoconf, aclocal,
autopoint, automake); gettext is also needed. On Debian or Ubuntu,
run "sudo apt install automake autopoint gettext". Once those tools are
in place, call "autoreconf -is" to generate the configure script, and
run it as described above.
Monitoring
A Zabbix monitoring template for continual-sync is provided in both JSON and XML formats: zabbix_continual-sync_template.json, zabbix_continual-sync_template.xml.
Import either one of these into your Zabbix instance, and apply it to the host running continual-sync. Change the value of that host's "{$CONTINUAL_SYNC_SECTION_LIST_FILE}" macro to match the host's "section list file" parameter if necessary.
A script for use with Checkmk is also included: checkmk-local.sh. Read the comments at the top of the script for details.
Developers and translators
Developers and translators, please see "docs/DEVELOPERS.md".
Translators can use the Weblate instance hosted by Codeberg: https://translate.codeberg.org/engage/continual-sync/
If you don't see your language listed, raise an issue on the issue tracker (or just email the maintainer) asking for it to be added.
Copyright and bug reporting
See "docs/ACKNOWLEDGEMENTS.md" for a list of contributors.
Copyright (C) 2014, 2021, 2023, 2025-2026 Andrew Wood.
License GPLv3+: GNU GPL version 3 or later https://www.gnu.org/licenses/gpl-3.0.html.
This package is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License, version 3, in "docs/COPYING". If not, see https://www.gnu.org/licenses/gpl-3.0.html.
Please report bugs or request features via the issue tracker linked from the home page.
The continual-sync home page is at:
The latest version can always be found here.