I wrote RoboShell Backup because I needed something to fit my personal backup strategy.
I have several computers and a NAS drive at home and I want to do two things:
I want to plug an external USB drive to any of my machines and just run one script that backups the whole NAS drive onto the USB drive.
There is some stuff locally on each machine that I can't save directly on the NAS.
I try to put as much directly on the NAS drive as possible, but there are some programs that save files locally (for example in My Documents) and I can't change that.
--> I want a copy of all that data on the NAS, so it gets automatically backed up on the USB disk as well, without having to connect the USB disk to each machine, every time I want to make a backup.
(that's what I did before I wrote RoboShell Backup)
RoboShell Backup works best if you have the following setup:
If your setup looks like this, then RoboShell Backup is for you: It helps you automate the copying stuff.
RoboShell Backup consists of two batch files:
PcToNas.batcopies folders from your local machine to a NAS drive.
NasToUsb.batbackups the whole NAS drive to an external USB drive
The idea is that you run
PcToNas.bat regularly on each of your machines (by putting it into your Startup folder, for example), so that all your important data is always on your NAS drive, including the local stuff from each machine.
Then, every time you feel like taking a complete backup of your NAS, you plug an external USB drive to any of your machines and run
NasToUsb.bat to copy the whole NAS on the USB drive.
RoboShell Backup mirrors the copied files using RoboCopy's
/MIR switch, which means that only changed, deleted and new files will be touched at all.
So, making a backup doesn't take much time (except for the very first run, of course).
RoboShell Backup assumes that RoboCopy and Windows Powershell are both installed on your machine and in your
Depending on your Windows version, this may already be the case (see below for more information).
There are two options to install RoboShell Backup:
config.xml) by yourself.
You need to change the values in the config file once, according to your setup (which folders to backup, drive letters of your NAS and your USB drive).
The setup will automatically detect the older version and update it.
Note that it will overwrite the
config.xml file, so you should backup the existing file before you run the setup.
When the setup is finished, just overwrite the installed
config.xml with your backed up version.
(yes, this is a bug...but you need to work around it until I figure out how to make the setup keep existing config files)
As mentioned before, RoboShell Backup can write to TrueCrypt-encrypted USB drives.
You don't need to install TrueCrypt on any of your machines - you just need to set up each USB drive once (instructions and more information here). RoboShell Backup will then run TrueCrypt directly from the USB drive, in portable mode.
RoboCopy will be on your machine and in your
%PATH% variable if you have at least Windows Vista (because it's included in the standard installation)
If your have Windows XP or older, you need the Windows Resource Kit for your Windows version (RoboCopy is part of the Resource Kit).
Links to the downloads are on the bottom of the Resource Kit's Wikipedia page.
Windows PowerShell is part of all Windows versions since Windows XP SP2.
So if you have at least XP SP2, it should be there. If it's not, you can get it here.
RoboShell Backup itself doesn't need to be built, because it consists just of batch files and PowerShell scripts.
The only thing that needs to be compiled is the MSI setup, which is made using WiX.
The build script is the file
Create Setup.bat in the main folder of the repository, and it will download WiX via NuGet (the "WiX Toolset (unofficial)" package).
The script will create a zip file as well, using the 7-Zip Command Line Version. It expects the
7za.exe in the parent folder.
RoboShell Backup makes use of the following open source projects:
RoboShell Backup is licensed under the MIT License. See License.rtf for details.