The design principle was that any changes made to your local writing folder or directory are automatically synchronised into the cloud. One additional caveat is that if a different change is made in the cloud and locally that no data is lost. The solution must also be cross-platform compatible, in other words it works on a Mac, Windows and Linux. Finally, the solution had to be as easy to implement as possible.
The cloud part of the solution was a very simple decision. My experience with Dropbox over the last few years has been painless and straightforward. Also Dropbox is compatible with many apps, so any data would be backed up using this solution too. You could use Box, iCloud, Cubbie, or any other cloud solution that provides a local folder or directory.
The design principle is to synchronise two local folders. However, one of the local folders is a cloud folder, in this case Dropbox. The local folder is where I save all of my writing data, backups, images, notes and so on. This solution could, of course, be used for any project, writing or otherwise.
I tested many free synchronisation applications, but struggled to meet all of the requirements. I suffered crashes, unresponsive software, even data loss on a couple of occasions. Luckily this was in a testing environment.
In the end I found just one application that has worked extremely well. FreeFileSync is available for Mac, Windows and Linux. The latest version I have been using is 7.9, and can be downloaded from http://www.freefilesync.org/download.php.

The installation of the software is straightforward on all of the platforms. There are two applications included with the download:
- FreeFileSync
- RealTimeSync
- Two-way synchronisation
- Mirror (1-way synchronisation)
- Update (1-way copy)
- Custom (ability to customise your own synchronisation rules).

The batch file can be imported into RealTimeSync providing all of the settings required. RealTimeSync monitors the source folder, in my case the local writing folder, and immediately synchronises any changes. RealTimeSync is setup to run when the computer starts up.
I didn’t want to have a realtime synchronisation option, but rather a user specified time increment. This meant using FreeFileSync with a scheduler. I decided on a 15 minute interval.
In the case of windows I simply created a task in the Windows Scheduler to run every 15 minutes.
- Program: “C:\Program Files\FreeFileSync\FreeFileSync.exe
- Optional Argument: “C:\Users\ValuedUser\Batch Files\SyncSettings.ffs_batch.
If using Linux, I would recommend using Cron or some other scheduler option. Unfortunately, I have not had time to test a Linux installation.
On the Mac I used a free scheduler application

I placed the Scheduler.app into my user startup items so that it runs at computer boot.

The schedule is created using the Document option which allows the user to specify both the application to run and any arguments required. In this case the “SyncSettings.ffs_batch” file location is all that is needed. I also set the repeat interval to 15 minutes.
The final stage, after implementation, was testing. I modified the contents of the same file in Dropbox and on my local folder in slightly different ways. In some cases, with other applications I tested, this resulted in one of the files disappearing and hence data loss.
In the case of FreeFileSync you are protected

I have been running this backup and synchronisation solution for a couple of weeks now. File and folder changes are made daily. The system has worked flawlessly with the added bonus that my iPad and iPhone app data, the data that is saved to Dropbox in this case, is also being backed up to my local drive.
SM