GIS FileSync is a utility for synchronizing GIS datasets between computers on a network. Because the program only copies files that have changed, it can synchronize even large datasets in a short amount of time. GIS FileSync can be used to create and maintain local copies of data stored on a remote server, thus providing faster access and better application response. It can also be used to maintain data stores on laptops and other portable machines that need to have access to GIS data while not connected to a GIS server.
It is important to note that to help prevent accidental damage to master datasets, GIS FileSync will only synchronize your data in one direction. This means that if users modify local copies of a synched dataset, those changes will be permanently lost the next time GIS FileSync is run. Changes will not be propagated back to the original data source.
How it works
GIS FileSync compares one or more source directories with corresponding destination directories, and ensures that the destination directory has the same versions of files and subdirectories as the source directory, copying and deleting files as required. The file comparison is recursive, so subdirectories are synched as well. In addition, GIS FileSync treats the ArcInfo file arc.dir specially: if found, it will be copied (as long as other files need to be synchronized), whether or not it appears to have changed. This helps prevent corruption of certain ArcInfo coverages. Also, GIS FileSync will make additional passes to confirm the synchronization process. This helps prevent damage to data on the destination machine in the event that a user makes changes to the source data during synchronization. Finally, a log file can be specified to record all changes made to the destination directory.
The interface presented to the user is very simple. There is, in fact, nothing for them to do short of click the OK button when synchronization is complete.
The program is configured via command-line options, which can be coded into a desktop or start menu shortcut to provide a very simple user experience.
Users should be careful not to use any files in the destination directory while running GIS FileSync. Doing so could possibly result in corruption of the local datasets. For this reason, users should take care not to synchronize their data while editing it with ArcView or other GIS applications. Under no circumstances will GIS FileSync damage data residing in the source directory.
GIS FileSync was written in Visual Basic, and thus only runs in a Windows environment. It requires the Visual Basic 6.0 runtime libraries, which can be found on many machines, and are freely available for download from Microsoft. The easiest way to find out if you have the libraries is to try running the program. If it fails with a cryptic error message, you probably need the libraries. GIS FileSync also requires a copy of comctl32.ocx to be installed. Most machines have this, but a few older ones do not. Comctl32.ocx can also be downloaded from Microsoft.
Command line parameters
The simplest way to configure GIS FileSync is to specify the source and destination directories directly on the command line. For example:
"GIS FileSync.exe" /s"V:\GIS\data" /d"C:\GIS\data" /l"C:\GISSyncLog.log"
This command will ensure that the destination (C:\GIS\data) folder is exactly the same as source (the copy on the V: drive). All changes made to the destination folder will be logged to the file C:\GISSyncLog.log. Please note that if either the source or destination directories are missing, GIS FileSync will display an error, and the synchronization process will be aborted.
When not using a parameter file, the following options are available:
GIS FileSync can also be run using a parameter file. A parameter file allows one shortcut to launch multiple synchronization sessions. For example:
"GIS FileSync.exe" /p"V:\gistools\localSync.prm" /l"C:\GISSyncLog.log"
This time, instead of specifying the source and destination parameters on the command line, we specified a parameter file, whose contents are shown below:
This command will cause three directories to be synchronized. The parameter file essentially contains a series of command lines. Note that only the /S and /D options are valid within a parameter file. The /L and /X options should be specified on the command line if you want to use them.
When using a parameter file, the following options are available:
Some important points regarding command line or parameter file options:
Installation of GIS FileSync is easy. Simply copy the GIS FileSync.exe file to a new machine and place a shortcut to it on your desktop or Start Menu. Alternatively, if GIS FileSync is located on a machine on the LAN, you can create a shortcut pointing to that remote copy without transferring the program to your local machine.
Next, right-click on the shortcut and select Properties from the context menu. Add the desired command line parameters to the program name in the Target textbox. You can leave the other shortcut settings as they are. Click OK and you are finished. Congratulations! The installation process is complete.
A Note About Time Zones
GIS FileSync relies on the system date/time stamp to establish whether a file needs to be updated or not. Usually, when a file is copied from one machine to another, the modification time of the file is retained. However, when that file is copied to a machine with a different time zone setting, the modification times are altered accordingly. Therefore, if you notice that re-running GIS FileSync causes all your files to be re-copied, you may need to check to ensure that both your source and destination machines are in the same time zone. You can see the a machine's time zone setting by double-clicking on the clock in the system tray, and clicking the Time Zone tab.
The most effective use of GIS FileSync is by a GIS Administrator to help clients maintain local copies of their GIS data. Place a copy of GIS FileSync.exe on your central server, where it can be accessed by client machines. Create a shortcut to the program file on the client, using the /P and /L options to specify parameter and log files residing on the central server. With this setup, the administrator can change the datasets to be synced by modifying the parameter file, can review the log file, and can even update the program file without accessing the client machine. When installed in this manner, GIS FileSync is very easy to administer.
If there are multiple client machines to contend with, create a unique parameter file and log file for each user to maintain maximum flexibility. When there has been a significant change in the master dataset, an email can be sent to each user suggesting that they refresh their copy of the GIS data. It is not advised to try and use GIS FileSync to remotely perform the synchronization itself.
GIS FileSync was based on the source code for qFileSync 2.0, a much more general file syncing application written by David Pipegrass.
Entire site © 1996-2004 by Christopher Eykamp