FreeFileSync Open Source File Synchronization

About Tutorials Screenshots Vision Download Archive Forum F.A.Q. Manual Donate
It looks like an ad blocker has blocked the ads. Donate now The FreeFileSync project is 100% dependent on 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, selecting Recycle bin in synchronization settings is often sufficient. However, this is only available for local drives and offers limited control over how files are stored and how long they are kept. 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 are moved to the specified folder without any added decoration, replacing older versions that exist.
Versioning

2. Keep multiple versions of old files

  1. Set deletion handling to Versioning and naming convention to Time stamp [File]. FreeFileSync moves deleted files into the specified folder and appends a time stamp to each file name. The folder structure is preserved, making it easy to access older versions via a file browser. Example: Last versions of the file Folder\File.txt inside folder D:\Revisions
    D:\Revisions\Folder\File.txt 2020-12-11 111111.txt
    D:\Revisions\Folder\File.txt 2020-12-12 122222.txt
    D:\Revisions\Folder\File.txt 2020-12-13 133333.txt

  2. With naming convention Time stamp [Folder] files are moved into a time-stamped subfolder within the versioning folder, while their original names are preserved. This allows you to manually undo a synchronization by moving files from the versioning folder back to their original locations. Example: Last versions of the file Folder\File.txt inside folder D:\Revisions
    D:\Revisions\2020-12-11 111111\Folder\File.txt
    D:\Revisions\2020-12-12 122222\Folder\File.txt
    D:\Revisions\2020-12-13 133333\Folder\File.txt

3. Save versions at certain intervals

Using the Replace naming convention, you can control version granularity by adding Macros to the versioning folder path. For example, to save deleted files daily, add the %date% macro:

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