SDS (Simple directory sync) is a free file and directory synchronisation tool in the form of a windows command line utility that you can easily script with a power-shell or batch-file to make standard source to target backups.
SDS can backup folders from and to both standard drives and UNC locations.
Current version download: see downloads section at the bottom of the page
- Version 19.2.4 (4 feb 2019)
- Support for faceless operation without console window
- version 17.9.17 (17 sep 2017)
- new parameter: -sh : skip hidden files
- Version 17.8.22 (22 aug 2017)
- UNC paths are now supported, so you can do sds.exe \\server\source \\nas\target
- new parameter -h : halt on errors and wait for the user to confirm the error
- new parameter -d : create target location if it does not exist.
- Version 15.7.0 (7 jul 2015)
- sds will no longer throw an exception if the source or target path doesnt exist at all
- a standard windows installer package is now provided.
- Version 1.0.3.X (3 may 2014)
- sds will now skip instead of abort on files and directories that are in use or insufficient permissions
- new paramter -mail: specifies an address to send the activity log to
- new parameter -smtp: specifies an smtp server to use (default localhost)
- new paramter -sender: specifies the sender email address to use (default localuser@localdomain)
- Version 18.104.22.168 (19 apr 2014)
- Fix for an exception removing empty directories
- Version 22.214.171.124 (5 apr 2014)
SDS uses the .NET framework version 4.0 which will be already on your computer if you are running Windows 8+ or server 2012+, and is a free download for any windows version starting with Windows XP and up. The binary is compiled with the AnyCpu option so it will run in 32 or 64 bit depending on which type of system you have. Installation is straightforward. Unpack the zip into a location of your choosing, and optionally add this location to your path setting. The basic call is as follows:
sds c:\source n:\target
Which will make the file system tree at the location n:target equal to
the tree at c:\source.
Synchronization is done in two passes. The first pass deletes any files
from the target location that are no longer present at the source
location. The seconds pass copy’s files from the source location to the
target location if they are new or changed.
Changes are detected by comparing the file sizes and date-time stamps of
last writes. The granularity of the date-time stamps is set to 60
seconds to compensate for some differences between file systems and
prevent files being copied each and every time synchronization is run.
(many cheap NAS systems with older Samba versions have this problem).
If you copy from a local to a network drive you need to map a drive
letter to the network location in other to use it with sds. The same way
you can sync between two network location by mapping two drive letters.
The amount of files that can be handled is basically unlimited as long
as your system has available memory to hold the files list. (no hard
limits are present).
All parameters are placed in fronf of the source an target specifications, eg:
sds -mail:email@example.com -smtp:your.smtp.server -sender:firstname.lastname@example.org c:\source n:\target
|specifiy a reciepient for the logfile|
|-smtp||specify which smtp server to use (default localhost)|
|-sender||specify which sender address to use (default localuser@localdomain)|
|-h||halt on errors and wait for confirmation|
|-d||create directory for target if it does not exist|
|-sh||skip hidden files during scanning|