I personally use CrashPlan Business Solution for the small office solutions that I provide. It's easy to setup, and backups up to their servers. It's easy to monitor, and doesn't matter where the user is located (WAN or LAN connections).
However, with a larger corporations I would suggest looking at CrashPlan Enterprise Solutions as that option appears to have the ability to:
Build your private cloud with managed hardware engineered exclusively for CrashPlan PROe.
The pricing for the business version is great for small businesses, but the customization and ability to expand is low. Since you're dealing with 100's even close to a thousand clients I would look at the CrashPlan Enterprise first.
The great thing about CrashPlan is that you can 'rollback' or restore deleted files, including individual files. They typically don't have a cap on the amount that you can store (as long as you're willing to pay). It supports all platforms (Windows, Mac, Linux). If users disconnect during a backup, the backup will resume from where it last left, meaning that individual files are sent and monitored. This is similar to dropbox.
There's also a great dashboard which allows you to manage users, devices, and monitoring backup status's from either the web or even your phone (yep they have an app for that)
Here's a small sample of the 'devices' section in the online dashboard:
You also do the restoring or rolling back of files from this dashboard:
I think that this is going to be your best bet as it appears to meet most of your criterion, in a single solution.
The only problems that I don't know about are:
Supports local-to-local file delta backup on a schedule, so that users without a network connection for a few days can still retrieve accidental deletions or whatnot. Ideally, the local stored backups would be pushed up to the server whenever network link is available.
Isn't configurable on the clients without certain credentials. Because the CFOs (who won't give up their admin rights on the domain) will disable it if they can.
With bullet one, I'm not sure how the enterprise system works, but I believe that the Business solution pushes straight to the server, and not to the local machine.
With bullet two, again, I'm not sure how the enterprise system works, but the business has a small client that runs (and is visible in the "System Icons" area of Windows) that can be controlled by the user. I would suggest talking to CrashPlan for more details in regards to these issues.
Note: I am NOT an affiliated member/employee/whatever of CrashPlan. I'm just a user that really likes it.
Use tar
, but forgo the gzipping part. The whole point of TAR is to convert files into a single stream (it stands for tape archive). Depending on your process you could write the stream to a disk and copy that, but, more efficiently, you could pipe it (for example via SSH) to the other machine - possibly uncompressing it at the same time.
Because the process is IO rather then CPU intensive, parellellizing the process won't help much, if at all. You will reduce the file transfer size (if files are not exactly divisible by block size), and you will save a lot by not having the back-and-forward for negotiating each file.
To create an uncompressed tar file:
tar -cf file.name /path/to/files
To stream across the network:
tar -c /path/to/files | ssh user@dest.domain 'cd /dest/dir && tar -x'
Note: If writing an intermediate file to a hard drive as per example 1, it may actually be faster to gzip the file if there is a decent amount of compression because it will reduce the amount to be written to disk which is the slow pare of the process.
Best Answer
You can accomplish this using the 7zip command line tool and the windows task scheduler.
Download the 7zip command line tool from http://www.7-zip.org/download.html and extract it to c:\7zip
Open notepad and create a list of the directories you want to backup, one path per line
Go to tools->save and make sure to change the drop down menu from ANSI to UTF-8 and save the file as c:\users\username\backuplist.txt
Now, open the windows task scheduler and create a new task. Give the task a name and select to run it daily at your specified time. Select that you want to run a program and fill in the fields as follows
Now save the task and you should have a working backup solution based on 7zip.