FreeFileSync Open Source File Synchronization

It looks like an ad blocker has blocked all the ads. The FreeFileSync project is 100% dependent from ad revenue and donations to stay alive. Instead of the ads, and after FreeFileSync has proven useful to you, please think about supporting with a donation.
FreeFileSync User Manual:

File Versioning

When you need to preserve files that have been deleted or overwritten, it's often sufficient to select Recycle bin in synchronization settings. However, this is only available for local drives and offers little control on how to store and how long to keep the files. FreeFileSync therefore has an additional option, Versioning.

1. Keep only the most recent versions

In synchronization settings, set deletion handling to Versioning and naming convention to Replace. Deleted files will be moved to the specified folder without any decoration and will replace already existing older versions.
Versioning

2. Keep multiple versions of old files

  1. Set deletion handling to Versioning and naming convention to Time stamp [File]. FreeFileSync will move deleted files into the provided folder and add a time stamp to each file name. The structure of the synchronized folders is preserved so that old versions of a file can be conveniently accessed via a file browser.
     
    Example: Last versions of the file Folder\File.txt inside folder D:\Revisions
    D:\Revisions\Folder\File.txt 2012-12-12 111111.txt
    D:\Revisions\Folder\File.txt 2012-12-12 122222.txt
    D:\Revisions\Folder\File.txt 2012-12-12 133333.txt

  2. With naming convention Time stamp [Folder] files are moved into a time-stamped subfolder of the versioning folder while their names remain unchanged. This makes it easy to manually undo a synchronization by moving the deleted files from the versioning folder back to their original folders.
     
    Example: Last versions of the file Folder\File.txt inside folder D:\Revisions
    D:\Revisions\2012-12-12 111111\Folder\File.txt
    D:\Revisions\2012-12-12 122222\Folder\File.txt
    D:\Revisions\2012-12-12 133333\Folder\File.txt

3. Save versions at certain intervals

With naming convention Replace it is possible to refine the granularity of versions to keep by adding Macros to the versioning folder path. For example, you can save deleted files on a daily basis by adding the %date% macro:

Example: Last versions of the file Folder\File.txt inside folder D:\Revisions\%date%
D:\Revisions\2012-12-11\Folder\File.txt
D:\Revisions\2012-12-12\Folder\File.txt
D:\Revisions\2012-12-13\Folder\File.txt