0

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.

Zachary Scott
  • 227
  • 2
  • 14
  • 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 08 '10 at 22:19
  • File distribution really. We have a 200,000+ archive of images to distribute to 30+ customers. – Zachary Scott Feb 08 '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 08 '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 03:33

4 Answers4

2

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.

kubanczyk
  • 13,812
  • 5
  • 41
  • 55
1

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.

Cairo
  • 251
  • 1
  • 4
1

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

http://sourceforge.net/projects/ftpandfilesystemsynchronizer/

denriv
  • 11
  • 1
0

A quote from a different website:

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

Zachary Scott
  • 227
  • 2
  • 14
  • 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 03:35