Every night my client's ShadowProtect backup software saves the entire server to H: which is an external USB drive that is rotated offsite the next morning.
Recently the client requested that files on the 10 client workstations be added to the nightly backup.
The only thing that needs to be backed up is each client's Outlook PST file.
So, I scheduled a simple dos batch file which backs up all the different pst file names:
call CSaveStart Cathy
call Csave Cathy "\\CPU0418\c$\Documents and Settings...archive.pst"
call Csave Cathy "\\CPU0418\c$\Documents and Settings\... inbox.pst"
call CSaveStart John
call Csave John "\\CPU0419\c$\Documents and Settings...archive.pst"
call Csave John \\CPU0419\c$\Documents and Settings\... inbox.pst
… etc etc
Call CsaveStart User10
call Csave User10 "….archive..
call csave User10 " …inbox"
And, I wrote the following two supporting batch macros Csave and CsaveStart which don't work quite the way I want.
The problem occurs when a user forgets to sign off at the end of the day. When this happens, the master macro deletes the old backup then aborts before creating a new backup. Also none of the subsequent user files get saved.
I can "solve" some of this problem by breaking master batch file into 10 individually scheduled batch files. And, I could probably solve some more by converting it to vbscript. But it seems obvious that this is not a satisfactory way of saving the files. Does anybody have a more reilable way?
I know that there are third party programs to do this function, but the last time I checked it would have cost a couple thousand dollars for 10 workstations. That seems like overkill for saving 20 files.
Here are the batch files.
:: example CsaveStart janedoe
echo y |del "h:\%1-1\*.*"
:: move actually renames a directory, even on very old DOS computers
move "h:\%1" "h:\%1-1"
:: example Csave janedoe "\\cpu999\C$\Documents and Settings\janedoe\Local Settings\Application Data\Microsoft\Outlook\janesoutlook.pst"
copy %2 "h:\%1\*.*"