The simple question is how do you sync a Windows file system to an FTP destination periodically while never checking the destination for change unless something bad happens and not relying on file size or date/time changes. Too many other differences exist when using date/time to determine change (NTS alters seconds, daylight savings time, etc.) and file size is not as reliable because of blocking factors, etc.

The first issue is which FTP server software out there supports checksums or hashes using MD5 (MD5 is pretty quick compared to SHA-1, but whatever works).

Second issue is which copy program can generate hashes from a directory listing, store them in a database, send over anything that changes or is new, and never check the destination FTP server unless oddities happen, possibly having a server side utility to generate the database if files already exist.

  • Why FTP specifically? The built-in DFS can accomplish this syncing if all you need it for is some kind of backup purposes. – Maximus Minimus Feb 8 '10 at 22:19
  • File distribution really. We have a 200,000+ archive of images to distribute to 30+ customers. – Zachary Scott Feb 8 '10 at 22:22
  • Do you have any other kind of access to the destination server (is it on your local LAN or accessible as if it was, I suppose I'm asking), and what's the destination server OS? – Maximus Minimus Feb 8 '10 at 22:24
  • FTP actually is quite fast. When we tried using SMB over the Internet, it failed to run nearly as fast. Probably because FTP regulates it's own packet size, which is quite small. – Zachary Scott Feb 16 '10 at 3:33

Use rsync server and client additionally to (or instead of) the original FTP service. rsync is designed to perform exactly the operation that you describe. FTP is designed just for copying files. Yes, you can calculate checksums via FTP's SITE command, but this is merely a hack.


So far I have never seen an FTP server which offers a checksum command (it'd be custom, AFAIK it's not part of the FTP rfc), so I think this whole approach will not work.


You can use this simple windows FTP tool, in command line; Check wiki page for manual.



A quote from a different website:

Serv-U and RaidenFTPd both have working implementations of XCRC. Of the two I would recommend Serv-U.

  • And of course, 2brightsparks.com had the answer using SyncBackPro, if you dig deep in to their configurations, and using one of the two above servers. – Zachary Scott Feb 16 '10 at 3:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.