Microsoft Windows/backups

batch scripts with journaling
One dead simple, non-proprietary way of making backups from a Windows system to a network share (or secondary storage) is using batch files. This should work with anything from Win98 (when the Task Scheduler first appeared, iirc) through Vista, though I have only tested it with Win98.

This sets up a set of journals by day and by month, so that you can recover old versions of files. (This is useful in case a file gets clobbered somehow but you only notice the problem after it is backed up.)

You simply create a batch file to do the backup, and then use the Task Scheduler to run each batch file at appropriate intervals (after midnight on a Saturday works well):

backup.bat - generalized, with 5 journals labeled as "daily":  REM Shift journals forward xcopy /s/c/Y/d [target]\machines\[source_pc]\journal\5\*.* [target]\machines\[source_pc]\journal\6\ xcopy /s/c/Y/d [target]\machines\[source_pc]\journal\4\*.* [target]\machines\[source_pc]\journal\5\ xcopy /s/c/Y/d [target]\machines\[source_pc]\journal\3\*.* [target]\machines\[source_pc]\journal\4\ xcopy /s/c/Y/d [target]\machines\[source_pc]\journal\2\*.* [target]\machines\[source_pc]\journal\3\ xcopy /s/c/Y/d [target]\machines\[source_pc]\journal\1\*.* [target]\machines\[source_pc]\journal\2\ REM Backup from source xcopy /s/c/y/d [source_dir_1]\*.* [target]\machines\[source_pc]\journal\1\[target 1]\ xcopy /s/c/y/d [source_dir_1]\*.* [target]\machines\[source_pc]\journal\1\[target 2]\ REM ...and so on. 
 * [source_pc] is the name of the machine being backed up,
 * [source_dir_n] refers to each of the folders you would like to back up
 * [target] is the folder where you want to put all your backups
 * [target_n] is whatever you'd like to name [source_dir_n] within the backup

There's probably a way to do this more elegantly using batch %VARIABLES%, but I haven't had a chance to work out the details and test the results.

Example
from ' network:

daily backup.bat  REM Shift journals forward xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\5\*.* \\rizzo\shared\backups\machines\vincent\Daily\6\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\4\*.* \\rizzo\shared\backups\machines\vincent\Daily\5\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\3\*.* \\rizzo\shared\backups\machines\vincent\Daily\4\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\2\*.* \\rizzo\shared\backups\machines\vincent\Daily\3\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\1\*.* \\rizzo\shared\backups\machines\vincent\Daily\2\ REM Backup from source xcopy /s/c/y/d c:\etc\work\*.* \\rizzo\shared\backups\machines\vincent\Daily\1\Work\ xcopy /s/c/y/d "c:\my documents\Digital Wave Player\*.*" \\rizzo\shared\backups\machines\vincent\Daily\1\Dictaphone\ xcopy /s/c/y/d "C:\My Documents\My PSP8 Files\*.*" \\rizzo\shared\backups\machines\vincent\Daily\1\PaintShop\ 

monthly backup.bat  REM Shift journals forward xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Monthly\5\*.* \\rizzo\shared\backups\machines\vincent\Monthly\6\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Monthly\4\*.* \\rizzo\shared\backups\machines\vincent\Monthly\5\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Monthly\3\*.* \\rizzo\shared\backups\machines\vincent\Monthly\4\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Monthly\2\*.* \\rizzo\shared\backups\machines\vincent\Monthly\3\ xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Monthly\1\*.* \\rizzo\shared\backups\machines\vincent\Monthly\2\ REM Shift oldest daily to first monthly xcopy /s/c/Y/d \\rizzo\shared\backups\machines\vincent\Daily\6\*.* \\rizzo\shared\backups\machines\vincent\Monthly\1\ 