165

I want to synchronise two folders in real time under Windows 7.

Basically, I want to monitor a folder and synchronise each change (new files, changed files, deleted files) to another drive. It has to be in real time, so it gets synchronised instantly when a change happens. A one-direction synchronisation is enough.

I tried Microsoft's SyncToy, but it does only syncing by hand or scheduled (thus not satisfying the "real-time" requirement).

Can this be achieved with Windows 7 itself? If not, are there other methods of doing this?

nc4pk
  • 9,257
  • 14
  • 61
  • 71
acme
  • 621

17 Answers17

94

Dsynchronize lets you do this. I'm not sure how it works in Windows 7 but it's freeware and standalone so there's no harm in trying.

CGA
  • 3,829
38

I use the ROBOCOPY command and made a command line to do the sync between two folders (incremental sync).  My command is like this

ROBOCOPY "Source_Folder" "Destination_Folder" /E /ZB /XJ /XF "~*.*" "*~.*" "desktop.ini" "Thumbs.db" "*.torrent" ".lock" ".Sync*" /xd "Rubbish" ".Sync*" ".Box Sync" "_private" "Outlook Files" /FFT /MT /R:2 /W:5 /V /MON:1 /TEE

(exclude files: "~*.*", "*~.*", "desktop.ini", "Thumbs.db", "*.torrent", ".lock", and ".Sync*") (exclude folders including files in these folders: "Rubbish", ".Sync*", ".Box Sync", "_private", and "Outlook Files").  Also this repeats itself every minute and/or single change of file/folder.

FLAGS

/E      Copy subdirectories, including empty ones.
/ZB     Use restartable mode; if access denied use backup mode.
/XJ     Exclude junction points. (normally included by default).
/FFT    Assume FAT file times (2-second granularity).
/MT     Do multi-threaded copies with 8 threads.
/R:2    Number of retries on failed copies.
/W:5    Wait time between retries.
/V      Produce verbose output, showing skipped files.
/TEE    Output to console window, as well as the log file.
/MON:1  Monitor source; run again when more than 1 change seen.

/XF [files] Exclude files matching given names/paths/wildcards. /XD [dirs] Exclude directories matching given names/paths.

For the list of flags, please refer to The Ultimate Guide to Robocopy.

22

There's Synkron which is open source and is cross platform.

Mrchief
  • 452
20

You could use a NTFS Symbolic Link so that the folders on each drive actually point to the same folder.

David Webb
  • 12,294
17

Since I read your comment ".. the mapped drive (the sync-target) is Linux", then I want to give you a way better approach: You only need ssh-access on the Linux target, it is way faster, and works much better over lower bandwidths and longer latencies.

Use WinSCP's "Keep remote directory up to date" function!

You will need a little tweaking on the transfer options to set up always binary, exclude files (typically svn or git files and similar) etc. Also use the "automatic apply" of transfer options. Also, create a session that has the host, local and remote directories set up. At that point, you only need to open WinSCP, activate the session (which then also automatically applies the transfer options due to e.g. host-matching), and hit the keep-updated button.

Or you could script this using WinSCPs scripting tools!

.. and just btw: If the scenario was Unix-to-Unix, then check out this question.

stolsvik
  • 1,230
11

Below are some of the tools for synchronizing folders in real time, check each and select one for your requirement.

  1. FreeFileSync
  2. AllwaySync
  3. SyncBack Free
  4. Synkron
  5. File Synchronizer
  6. PureSync
  7. GoodSync
7

My I've tried quite a few programs and the only ones that do real-time mirroring of folders are:

Personally, I like Yadis! Backup better. It has more features than Dsynchronize. You can enable versioning, # of versions to keep, which file operations to monitor, and I'm sure a lot more. Plus, it has a better looking GUI that looks more refined.

Patrick
  • 753
4

If you want to sync a folder to USB and you use Dropbox already, use the DropboxPortableAHK.

This way, I have my Dropbox files synced on any computer, as well as my iPhone using the Dropbox app and my USB drive I use at uni with this portable version.

Niko
  • 105
jskye
  • 161
1

Another very strong way to sync folders is to use rsync on command line. You will have to download MingW toolchain or if you install cwRsync, it installs rsync.exe that you can run directly.

All you would need is this command:

rsync -r source_path destination_path

-r flag is to recursive for all sub folders.

On Windows (7) the path should be provided in the following format. For example to specify c:\test it will be /c/test or /cygdrive/c/test

This is the most efficient, fast and powerful way to sync folders with large files even though Dsynchronize in accepted answer also worked for me.

It is not live or real time though. Everytime you need to sync, you will run this command.

zar
  • 1,923
1

Maybe this one will help you: Allway Sync. Thare are free* and pro version. Features:

  • Flexible configuration and customization.
  • Supports files of any size.
  • Easy-to-use graphical interface.
  • Supports virtually any file system (FAT, NTFS, SAMBA, Netware, X-Drive, CDFS, UDF and more).
  • Can be installed on a desktop, laptop, USB stick, external HDD or a U3-enabled device.
  • Capable of synchronizing more than 2 folders.
  • Synchronize data between your desktop PCs and laptops over network

I used this program and I liked it.

* - free version has a limit of files processed during every 30 days. See Allway Sync End User License Agreement

0

I have found FreeFileSync (open source - but watch for adware on install) the best.

I also really like Backup2 (https://bvckup2.com/) for larger tasks as it runs the fastest of anything I've tested, but it's not free and is meant for 1-way syncs only.

Jon
  • 324
0

I realize this answer is a bit late, but some may be interested in trying Syncthing, which provides near real-time file synchronization.

I wrote a Windows installer for it that lets you install for all users (installs as a service) or for the current user (adds a logon task to the Task Scheduler to start it at logon):

https://github.com/Bill-Stewart/SyncthingWindowsSetup

Bill_Stewart
  • 1,502
  • 1
  • 9
  • 14
0

You can try SyncBack4all, it's real time folder and files sync program.

soandos
  • 24,600
  • 29
  • 105
  • 136
kaiser
  • 1
0

Watch 4 Folder v2.3 - a small (802kb), portable (no installation) and powerful monitoring tool to monitor folders and files activities.
It is simple to use and to set, it can monitor 15 types of events and trigger different actions in case an event occurs.

http://leelusoft.blogspot.in/2011/10/watch-4-folder-23.html

-Been using it on a server, firing off multiple exes - conversion to PDF using Acrobat, stamping them, sending as attachment to offices around the country through smtp calls... little software does many things!!

0

I wanted the same. And in principle the Sync Center within Windows7 would provide that but in another fashion: you only have to set a network folder as Always Available Offline. With this you basically have that a local and remote version synchronized, you are working as if you were on the network but actually it manages to have it locally. In other words you only see one copy but having it in two places, but that is the goal of synchronizing. Instead of being transparent that there is a remotely synchronized copy, there is a locally synchronized copy. In any case this covers the basic goal of network failures.

I must say this is the theory because I got stuck since my network drives are managed by Novel and therefore I don't have the option of "Always Available Offline".

0

I use free syncless https://code.google.com/p/big5sync/

it hooks to system and if in seamless mode, sync files in real time. Can't run as service, personally don't like GUI but it works :)

MirrorFolder http://www.techsoftpl.com/backup/ can also do real time sync and it works as service (do not need GUI to load to work) but it's not free ($39)

manuel
  • 241
-4

You can assign a folder path to a drive with subst.

Code:

SUBST L: "C:\Some\Path"