Setup BackUp
Setup, Scheduling, and more..
Creating backup sets:
BackUp operates on "backup sets", which live inside BackUp.ini
. A simple backup set might look like this..
[daily]
C:\reports=*.*
%=HKCU\Control Panel
Inside the backup set* is a simple list things you would like to backup. These "things" can either be file paths; that is, file system locations with file masks; or Windows registry paths. A simple file backup command could look like this..
C:\toolbars=*.*
Which instructs BackUp to backup everything in my toolbars folder. You can have any number of such commands inside each backup set. Registry backup is explained in more detail, below. Once you have created a set, you simply run the backup set.
* Anything underneath its[name]
is considered to be "inside" the backup set, right up until BackUp encounters another[backup set]
.
multiple file masks..
You can add as many file masks as you need, separated by commas, and use wild cards, too (e.g. *
, which basically means "anything", so *.*
mean all files). This next example would backup all of the eight specified preference file types from my entire programs folder..
@programsdir=*.cfg,*.ini,*.jcd,*.reg,*.lst,*.profile,*.mex,*.config
You probably noticed that I used the "token" @programsdir
to refer to C:\Program Files
, read on..
@tokens..
Tokens are special strings, preceded with an at sign ("@", aka. "commercial at"), that you can insert into your backup sets. Tokens are automagically transformed into their current value at run-time..
In their home folder. Known as "AppData" on Vista/Win7/8..
Usually, though not always, "C:\Program Files".
Usually, but not always inside their home folder
Usually, but not necessarily, "C:\Windows".
You don't have to use tokens, simply supply a regular valid path, but using tokens saves you some typing, and importantly, typos. There are other advantages, too..
User-specific tokens (like @appdatadir
) will be expanded to whatever user is running the backup set. So, if you schedule a backup to run as user "foo", the token @homedir
(for example) would be expanded to C:\Documents and Settings\foo
. BackUp's portability enables settings to be optionally centralized, for simple, global administration of batch-specific parameters, or alternatively, enable settings in user's own home folders. And so long as a valid password is supplied during the schedule's creation, backups for any user can run inside any user's account.
It's a potential gotcha, but it means that you can run the exact same backup set under different credentials, and get different, user-specific backups. Very handy. Of course, you can simply specify full, real paths instead of tokens, and create different sets for each user. It's entirely up to you.
NOTE: If a directory entry is preceded by a pipe character ("|"), BackUp won't dig into the inner directories, and will backup only matching files from the top folder. e.g..
[recent reports]
|C:\Business\Reports=*.*
Registry backup..
In a very similar way as we add files to a backup, we can add registry keys..
Many applications store their settings in the Windows Registry, and a backup of this information can save you a lot of time if you ever need to rewind your settings, or reinstall the application, or even windows itself; a procedure which inevitably obliterates all your carefully tuned preferences.
In my world, moving a window to position A, or putting a toolbar just there, is considered a task, one that took time, and one I'd rather not repeat, ever; especially those pesky toolbars. Same for any windows explorer setting. Along with many application preferences, these settings are stored in the Windows Registry.
Incorporating registry data in your backup is very easy; instead of path=mask
, you simply do %=registry key
. The percent character "%" instructs BackUp to treat the following command as a registry path, and backup will export that part of the registry to a plain text .reg
file, for inclusion in the backup, like so..
%=HKEY_CURRENT_USER\Control Panel
You can use "short names" for registry paths, too; HKLM
for HKEY_LOCAL_MACHINE
, etc., either works fine. Right-clicking on any section of the registry (inside regedit.exe) and selecting Copy Key Name
will get you your man, every time.
As with regular file paths, you can add as many registry keys (paths) as you need, to each backup set - this is especially useful for making backups of an application's settings where some are stored in regular ini/config files, and some are stored in the registry. BackUp allows you to grab both, and place them conveniently in the same backup.
command-line syntax
The command-line syntax (aka. "how to get BackUp to do your evil bidding") is very simple; add the name of your chosen backup set. For example, to run a backup set called "prefs", do..
C:\Path\To\BackUp.exe prefs
note: if you are running your backup command from a DOS prompt/shell/cmd.exe/Run..., etc., you will probably need to put quotes "" around any paths with spaces in them, for example..
"C:\Long Path\To\BackUp.exe" prefs
Same story if name of the backup set has spaces in it (quite valid)..
C:\Path\To\BackUp.exe "my daily backup"
You can run multiple backup sets with a single command, too; simply separate their names with pipes, e.g..
C:\Path\To\BackUp.exe prefs|documents|reports
If any of the backup sets have spaces in their names, put quotes around the whole thing, like so..
C:\Path\To\BackUp.exe "prefs|my documents|business reports"
If you add switches to a multi-backup command, the switches will apply to ALL the backups, overriding the backup set's in-built switches and settings, if applicable.
You can put your command inside an explorer shortcut, batch file, Batch Runner job, Run dialog (Win+R, always handy for testing stuff), or, as Nature intended; the Windows Scheduler (see below).
Command-Line Switches
You can override most of your default parameters both inside the batch sets themselves, or with simple command-line switches. Combine as many as you need, in any order, for example, to run the "test" backup set with progress tip you would do..
C:\Path\To\BackUp.exe t test
Here are the available switches, so far..
s = synchronize the backup (add new and changed files to an existing backup of the same name)
t = show progress tip
l = log everything (default is to log only errors)
If these are already set positively in your preferences, you can disable them on the command-line, like so..
-s = do not synchronize (replace existing backup with fresh files)
-t = disable progress tip
-l = log nothing, even if there were errors.
There is also a special switch..
r = report only (log what *would* have happened, but do not backup)
note: enable switches override disable switches, so if you enable the tooltip and also disable the tooltip on the same command-line (crazy person!) it will ultimately be enabled. Just so you know.
For a full explanation of the individual settings, see BackUp.ini
.
Scheduling Backups..
Backups can be schedule to occur at any time, usually some time when you are asleep. This can be setup very easily using the Add Scheduled Task
wizard inside your system's Scheduled Tasks
Control Panel..
Simply click on the Add Scheduled Task
wizard, and run through the options. At the end of the wizard, ensure you check the Open advanced properties...
checkbox, so you can add the name of the backup set onto the end of the "Run:" command, which is the actual command-line that will be executed when the scheduled item runs.
If you prefer, scheduling a backup can also be achieved with a simple shell command (i.e.. from a "run" dialog/shell prompt/batch file/etc.) using Windows' built-in schtasks
program, like this (although it may split in your browser, the following command goes all on one line) ..
schtasks /create /sc daily /tn "my backup" /st 14:00:00 /tr "\"C:\Path\To\BackUp.exe\" daily" /ru UserName /rp PassWord
.. which would run the backup set [daily]
at 2pm every day. Alter the details to suit your needs, correct username and password, etc. NOTE, schtasks
has a lot more options; if you need more, the Windows Tech Centre at Microsoft has all the gory details. You can get to all the settings from the Scheduled Tasks
Control Panel, if need be.
Depending on demand and other factors, future versions of BackUp may offer a GUI, and a button for this. You can schedule backups for multiple users, too. See the above notes about "Tokens" more details about multi-user backups.
100% Portable..
BackUp usually operates as a regular installed desktop application, keeping its settings inside your user folder, but BackUp can also operate in a completely portable state, and happily works from a pen-drive, DVD, floppy disk, or wherever you happen to be.
To activate portable mode, simply drop a BackUp.ini
file next to BackUp.exe
.
You're done!
It's no problem to use both kinds of installation simultaneously, or to run BackUp in portable mode on a machine where BackUp is already installed, even run them both at once. Simply put, if there's a BackUp.ini
next to it, BackUp will use it, and if there isn't an ini file there, BackUp uses the one in your user data folder (aka. "Application Data", aka. "AppData").
etc..
Archives can be automatically date and time stamped, and more. Check out the ini file for details of the specific settings.
bugs:
no known bugs.
caveats:
It should be noted that BackUp uses the last part of the paths as the name for the folder, so if you added a path which was..
I:\work\words\concepts=*.*
the backup for that area would be in a folder called "concepts". This is a nice system, but if you were to include another path in this backup set, perhaps something like..
C:\toolbars\active scripts\reg\concepts=*.reg
because it too ends in "concepts", its files would be stored in the same folder as the first, which may or may not be what you want, files from later paths (in the backup set) overwriting files from earlier paths. If synchronization is enabled, the later files would only be copied into the backup if they were different from the earlier files.
Something to keep in mind when you create your backup sets.
note: registry backups use the full registry path as the file name, I don't know of a useful reason to allow them to overlap in any way.