First of all -- Enable Shadow copies on your file server. Technet has a pretty simple article on this at:
Shadow copy enables the "Restore Previous Version" feature you see commonly in Windows 7. The previous version feature basically reserves a small part of your drive to keep versions of your files as they change. It can't always save you but in the event of a failed backup or a minor problem like a long unchanged file that is suddenly gone, it can be the fastest method of restoring it.
Second, make and schedule point backups of critical files either with scripts or with a backup software. Windows backup isn't really good for this, it's good for a full backup but it has too many restrictions right now for this kind of issue such as the Windows Backup 4K bug that makes it difficult or impossible to use many types of external and internal drives for backup purposes (especially very large ones). You can and should use a dedicated non-advanced format drive like a WD Black 2TB or WD Black 1TB for a full backup on a scheduled basis however it shouldn't be your only backup for critical, often changed folders.
If you are not afraid of the commandline and task scheduler, my suggested method of backup would probably be to setup some simple batch scripts to do the task. There are a couple good free tools to make this happen. One good option is a simple install of 7-Zip.
7-Zip is a simple, yet powerful Compression / Decompression tool that runs on most operating systems. It is similar to WinRAR or WinZip but handles many formats and is free. When you install 7-Zip you will get a commandline version of the tool called 7z.exe (or 7za.exe ). It is commonly located in C:\Program Files (x86)\7-Zip after an install.
With the commandline version of the tool you can do virtually anything we can do with the file manager. Now there are several websites that talk about using 7-Zip on the commandline, but I'm going to share some specific examples.
Now to actually do these kinds of things on a scheduled basis you need to write a batch file, and it needs to drop a file with a unique file name. It also needs to delete the old files on a consistent basis so that you do not run out of space on the backup drive.
Steps to writing the batch file:
1) Get a date. Literally I mean set a date variable. I find this line to work well:
What this says is -- give me a variable I can use at the commandline with full date and time, in a format that won't break file naming. It will produce something like this:
in variable _mydate.
2) Put 7z / 7za somewhere useful. What you want is for typing 7z ( and hitting enter ) or 7za ( and hitting enter ) to run the program. You can do this either by editing your path to include the folder for 7-Zip (such as: C:\Program Files (x86)\7-Zip ) or by copying 7z.exe / 7za.exe to a folder that's already in the path such as C:\windows\system32
3) Pick what you want to backup, and get a place to back up to. Generally any drive or share is going to work if you have sufficient space. If you want to use a remote file share or something like a Seagate GoFlex Home Server ( NAS ) you'll want to add a map line to the batch file before your attempt to backup the files to ensure that the drive letter you are trying to hit actually exists.
4) Write the script.
Here's my example. Backing up All Excel and Word Files on a series of shared folders
7z a -tzip G:\backups\"docback-%_mydate%.zip "D:\fileshares\*.xls*" "D:\fileshares\*.doc*"This little script will give you a unique file named something like docback-20121022-16-00-00.33.zip in G:\backups\ that is a backup of all files in all folders below D:\fileshares\ that end in xls* or doc* ( i.e. it backs up both .doc and .docx ) Obviously you would need to change this to meet your needs.
5) Add cleanup. A few years ago a new command called forfiles was added to commandline that allows us to do that.
Lets assume we have a massive drive and the backup is fairly small. We can hold 1 year of backups on it.
We might have this command at the end of the backup batch file:
FORFILES /P G:\backups\ /M *.zip /d -365 /C "cmd /c del @FILE"This command will delete any files older than 365 days old.
6) Save your batch file (usually done in notepad by saving as .bat ) and then go schedule it in task scheduler / scheduled tasks
If you are going to use a batch file to back up everything via scheduled tasks / task scheduler you are going to have to set it up so that the batch is ran with a user with a high enough privilege to work on the files and run everything even if you aren't there. In Task Scheduler this likely means you will probably need to set your security options to "Run whether user is logged in or not" and probably also "Run with highest privileges". [ Unless you make a specially crafted user for this task with just the right permissions for everything]. If you do not do this, then your backup will not run properly.