DirSync Pro

DirSync Pro is an open-source file synchronization and backup utility for Windows, Linux and macOS. DirSync Pro is based on the program Directory Synchronize (DirSync), which was first released in February 2003 by Elias Gerber. He subsequently developed it with Frank Gerbig and T. Groetzner. DirSync Pro was released by O. Givi in July 2008, based on a branch of the DirSync code. Many parts of DirSync Pro have gone through major rewriting and redesign ever since.

DirSync Pro offers a graphical user interface from which the user can manage and run multiple synchronization tasks. As of version 1.31, it supports local folder to folder synchronization, but does not support synchronization via FTP yet. The application is self-contained within its own directory, and is therefore fully portable.

DirSync Pro makes it possible to compare a couple of directories and synchronize their content. It can be used to create incremental backups. The synchronization can be set up to mirror a directory into another one unidirectionally, or to synchronize the content of two directories bidirectionally. Before synchronization, the user can run an analysis on the source and destination. DirSync Pro detects any kind of changes to any file/directory in the source (e.g. file/directory modification, move, deletion, renaming) and can synchronize the destination accordingly.

Features
DirSync Pro provides the following predefined synchronization modes:
 * Synchronize A -> B (incremental): This mode makes a shadow of directory A in B. Only new and modified files are copied from A to B.
 * Synchronize B -> A (incremental): This mode makes a shadow of directory B in A. Only new and modified files are copied from B to A.
 * Synchronize A <-> B (incremental): This mode mirrors directories A and B to each other. Only new and modified files are copied.
 * Synchronize A <-> B (custom): This is a custom mode to mirror directories A and B to each other in which all advanced options could be set up to the user's need.
 * Backup A -> B (full): This mode makes a full copy of directory A into directory B. All files are copied.
 * Restore B -> A (full): This mode makes a full copy of directory B into directory A. All files are copied.
 * Contribute A -> B: This mode copies only the new files from directory A into directory B. Modified files are left away.
 * Contribute B -> A: This mode copies only the new files from directory B into directory A. Modified files are left away.
 * Synchronize A -> B (custom): This is a custom mode to synchronize directory A into directory B mode in which all advanced options could be set up to the user's need.
 * Synchronize B -> A (custom): This is a custom mode to synchronize directory B into directory A mode in which all advanced options could be set up to the user's need.

When synchronizing bi-directionally, DirSync Pro detects synchronization conflicts. These conflicts may occur if a file is edited in both directories independently. DirSync Pro offers these options to solve the bi-directional synchronization conflict:
 * Copy the latest modified file to both directories.
 * Copy the largest modified file to both directories.
 * Rename and copy both files to both directories.
 * Do nothing and warn the user so he decides himself.

When synchronizing mono-directionally in a custom mode, DirSync Pro detects synchronization conflicts. These conflicts may occur if a file is edited in the destination directory independently. DirSync Pro offers these options to solve the mono-directional synchronization conflicts:
 * Overwrite the file in the destination with the file from the source
 * Do nothing and warn the user so he decides himself
 * Do nothing and ignore the conflict.

DirSync Pro lets the user configure unlimited number of filters to include or exclude files and directories. The user can set up a combination of unlimited number of filters of the following types:
 * Filter based on string patterns in file/directory names.
 * Filter based on file sizes. (smaller than, equal, larger than).
 * Filter based on modification dates (earlier than, on a date, later than).
 * Filter based on an absolute path.
 * Filter based on DOS attributes (DOS/MS Windows only).
 * Filter based on file ownerships (user and group, POSIX only).
 * Filter based on file permissions (POSIX systems only).

DirSync Pro has a schedule engine with many options to schedule synchronization tasks, e.g. every minute, hourly, daily, weekly, and monthly. DirSync Pro has many logging facilities to create detailed logs per job, per jobset, or globally.

DirSync Pro preserves (synchronizes) DOS file attributes, POSIX file permissions and ownerships and supports symbolic links.

Reception
Linux.com rated the utility positively, saying that "it makes defining a bidirectional sync as simple as picking two directories". Likewise, freshmeat calls it a "powerful, easy-to-configure tool to synchronize the contents of one directory with another".