As a power user, you probably already know the basics of backups. Essentially, backing up your important files is extremely important and should be done regularly. It should also be done to a different storage location (NOT THE SAME STORAGE DEVICE). After all, if you are saving your backups on the same storage media as the original files, if that media fails then you have lost your originals and backups all at once. I personally have multiple hard drives that store copies of my data so I always have at least two copies stored in different places. I then make my backups over the network to a central machine once a week. This is all done automatically after the initial setup. It doesn't get any easier.

As a Windows user, I utilize the Task Scheduler tool available through the System Tools menu to set up regular intervals for the backups. Mac users can use iCal and Linux users can use Cron to do the same thing. These tools let you determine when something is done and what is executed. If you use custom backup software like Acronis, then a scheduler is built in to the program. I personally use the Task Scheduler combined with a batch script because of the following reasons:

  1. It's free
  2. I like having the files directly available without having to use a separate app to decompress or reconstruct them
  3. It's easy to set up if you are willing to learn a little about batch scripts.

Below is the basis for the script that I use. Near the bottom you can see the line that reads ":: use below syntax to backup other directories...". The line below that describes the exact syntax and all that you have to change is the stuff within the quotes to specify the source and destination directories. The whole script relies on a Windows function called Xcopy which has been configured to recursively copy files only when the source files are newer than the destination files (which saves a lot of time).

If you are interested, you should copy the code below and modify it to do what you need it to. Once you have the file written up, just save it with a .bat extension so that Windows will know to execute the contents of the file. Then create a scheduled task that executes the script once a week, or once a day, or whenever you want. After that, the process is completely automatic as long as your computer is on. If you map a central drive on your network then you can backup files across the network as if the destination was just another hard drive on your machine. Super powerful and easy.

@echo off
::script originally developed by K. Rudio
:: variables are created for the backup drives and the command to execute
set drive1=E:\
set drive2=H:\
set backupcmd=xcopy /s /c /d /e /h /i /r /y

echo ### Backing up the whole C drive to E...
%backupcmd% "C:\" "%drive1%"

echo ### Backing up C:\MyDocs to drive H...
%backupcmd% "C:\MyDocs" "%drive2%\Apache2"

echo ### Backing up Program Files to drive H...
%backupcmd% "C:\Program Files" "%drive2%\C Backup\Program Files"

echo ### Deleting a log file on C for cleanup...
del c:\path\to\file.log

echo ### Backing up the Registry...
if not exist "%drive2%\Registry" mkdir "%drive2%\Registry"
if exist "%drive2%\Registry\regbackup.reg" del "%drive2%\Registry\regbackup.reg"
regedit /e "%drive2%\Registry\regbackup.reg"

:: use below syntax to backup other directories...
:: %backupcmd% "...source directory..." "%drive%\...destination dir..."

:: delete these following lines if you don’t want the DOS window to stay open after backup
echo Backup Complete!