As promised I told you all that when I had completed this automated backup solution I was working on awhile ago that I would release it with full documented source code.
So here we are the full completed source code,
A few things to keep in mind here are that this was done as a quick implementation it’s not intended for commercial deployment.
There are a lot of ways it could be improved such as using actual API to handle the NTBackup software and shutdown calls rather then just using system.
But this was the quickest way for me to implement it and after putting it through rigorous testing on about 20+ client work stations the test results were perfect for what my client was looking for.
Another note is that this will not work on anything above windows XP (Vista, 7, and 8 have not used NTBackup).
It will however work with Windows 2003, Windows 2000, Windows NT, and Windows XP which is all my client was running in their network so it worked out perfectly this way and they didn’t have to shell out up to $1,000 per system they needed backed up buying licenses to all this other commercial software out there.
The reason I went with NTBackup instead of some other open source software or writing my own was due to the fact that the client was already familiar with NTBackup and the file formats it outputs as well as the recovery using it.
They were already manually using NTBackup to backup their systems and I simply created this to automate it.
Another thing to make note to would be the fact this is always running in the background on the system whether it be a server or workstation client ( It shuts down on clients there’s a flag to adjust this from server to client “serv=1″ or “serv=0″ I believe it was. )
I didn’t want to use windows task scheduler as I felt this could cause additional problems with security, as well as stability or reliability complications ( I.E. User disabled the task scheduler service for their own reasons ).
Anyway with all of the above being said here is one of the final drafts to the source code for my Automated Backup Solution for the client I’ve recently been working with.