I'm wanting to use an Ubuntu Server to host a backup service of some kind to back up customer files that are located on Windows computers at an off-site location. Any recommendations would be greatly appreciated on how this could be done.
You can use rsync for that. There is a Windows version of rsync called cwRsync. It is based on cygwin.
You can install cwRsync on your Windows boxes and then rsync the data to your Ubuntu machine. I've used rsync for that when I migrated a server from Linux to Windows and had to copy a few GB of data from one machine to the other.
Here is an example how to do it.
If you create a batch file for the backup, you can then run it automatically using Event Scheduler in Windows.
You could use a simple rsync (cwRsync as mentioned by NZB) to sync the client data to your server.
On top of that I would let the server make daily snapshots of the synced data. If your client messes up the data, your live rsync copy is probably also screwed up. In this case you want to recover the data from the latest snapshot.
Read this for inspiration on how to do that using hard links. I would not use archives, because you will typically end up using a lot more disc space.