The syncpath project


syncpath is a cross-platform, open-source, lightweight command-line tool for synchronizing a source and a target directory. It can be used to synchronize two local directories in a machine, for example, a working directory and a backup in a removable device.

New files are copied to the target directory, non-existing files can be (optionally) removed, and files which have changed are updated. If newer files exist in the target they are never overwritten. File attributes (read-only, hidden, system,...) are also copied in the Windows version of the application.

The program has been tested over Linux and windows partitions, and incorporates a time window to avoid problems with FAT partitions.


The program is ideal for script/batch files. The accepted command line arguments are:

syncpath [-d] [-l logfile] [-L logfile] [-p] [-v] [-s] [-w number] SOURCE_PATH TARGET_PATH

And the meaning of the parameters is:

-d Allow deletion of files in target not found in the source
-l/L logfile Write/append log information to the given file name.
-p Pause at the end until key pressed
-v Verbose output
-s Skip symbolic links (symbolic links to directories will be not followed, and symbolic links to files will be skipped from the synchronization).
-w number Time window in seconds for updating a file (eg. 5)
SOURCE_PATH Existing path to copy files from
TARGET_PATH Existing path to copy files to


See the sourceforge download section.


Click on the image to see full size.



Binaries for Windows

An already compiled version is available for download for Windows. Just uncompress the zip file and copy the executable to any directory in the system path (or add the syncpath directory to the path).

Compiling from sources

Download the tarball with the sources from sourceforge, uncompress to any directory and:

Jose Luis Blanco Claraco © 2007
Valid HTML 4.01 Transitional Hosted on: Logo