CatBack User Guide

CatBack version 1.2

Contents

Introduction

CatBack main window

CatBack is a light-weight file backup program. CatBack attempts to differentiate itself from other available backup software in the following ways:

  1. It is simple and easy to use. Complex features simply aren't worth the trouble.
  2. Backup files are stored in a simple and easy to navigate directory structure. Restoring files is not dependent on the backup software.
  3. It is easy to install. No complicated install process, no databases, no hassle.
  4. It works on multiple platforms.
  5. It is small in size.

CatBack keeps track of what files you want to back up by storing this information in a Backup Profile. Backup Profiles operate much like documents in a word processor in that you can load them, save them, and create new ones.

When you start CatBack for the first time, you will want to create a new Backup Profile by selecting New from the File menu. Once this is done, you will be prompted to enter a profile name and backup directory, after which you can begin selecting the files you wish to backup from the file tree. When selecting your backup location, it is advised that you create and/or select an empty directory on another hard drive or network share. Before you exit CatBack, you will need to save your Backup Profile (if you try to exit without saving your Backup Profile, you will be prompted to do so).

As a convenience, CatBack will always reload the last Backup Profile on program startup.

Managing a Backup Profile

With your Backup Profile open, you can include or exclude files or directories to and from your backup set by checking or unchecking the checkboxes next to the files or directories on the included and excluded tabs. Checkboxes in CatBack have three states to be aware of:

In addition, the file names will have one of four different appearances:

Excluded files and directories take precedence over included files and directories. The purpose of being able to mark files and directories as excluded (and the difference from simply unchecking those files and directories from the Included tree), is so that you can exclude those files while keeping the parent directories in the checked state on the Included tree (rather than a paritially checked state).

Pay attention to any selected files or directories that have icons with a warning or missing indicator.

You need only worry about the warning and missing indicators on files and directories that are part of your backup set. When this occurs, it means the selected files or directories were previously added to your backup set but are no longer found at their previous locations. Such files have generally either been deleted, renamed, or moved. If the files are renamed or moved, you will need to manually uncheck them and then recheck them at their new locations; you may also want to manually update the directory structure at the backup location if you do not want the backup process to recopy such files (it is planned for future versions of CatBack to have tools to aid in this process, but for now it must be done manually).

Performing Backup of Files

Start your backup by clicking on the Begin Backup button in the main window, or by running CatBack with the "-b" command-line switch. A backup consists of 5 steps. For each step a progress bar may appear if the step will take a significant amount of time. However, it is not uncommon for a step to be very quick and even skipped completely, in which case you will not see a progress bar for that step. Once the backup is complete, a prompt will appear with a summary of the backup process.

The backup steps are as follows:

  1. Loading Files for Backup: A list of files you wish to backup is compiled. This generally takes very little time.
  2. Loading Last Backup: A list of files from the last backup is compiled. This can take some time if you have a large backup set and the connection to the backup location is slow.
  3. Comparing Files: The two compiled lists of files are compared. During this step, CatBack determines which files have changed and which files need to be backed up (any files that have not changed can be skipped). This can take some time if you have a large backup set and the connection to the backup location is slow.
  4. Moving Old Files: Any changed or deleted files since the last backup are moved into another directory in the backup location. (this provides an incremental backup; if no files have been deleted or moved, this step will be skipped and no incremental backup directory will be created.)
  5. Copying New/Changed Files: New and changed files are copied from your source drive(s) to the backup location. This step opens an additional window which is initially minimized. Pay attention if this window still exists after the backup is complete, as this means there was one or more problems copying files during the backup. Switch to this window to see what the problems were and to decide what to do about those problems. However, under normal circumstances, there will be no copy problems and this window will automatically close after the copy step is complete.

When using the "-b" command line backup switch, a backup is immediately performed for the specified Backup Profile; if the backup completes normally, CatBack then exits. This type of backup execution is intended to allow a user to schedule periodic backups using a task scheduler. CatBack does not include a built-in scheduler, but most systems have their own task schedulers that can be used. For example, if you have a Backup Profile with filename c:\myfiles.catback, you could have a task scheduler periodically run CatBack using a command like follows:

catback.exe -b myfiles.catback

Restoring Files

CatBack stores files in a simple directory structure that mimics the structure on the source drive(s) you backed up. The backed up files are not compressed or changed in any way from their original versions. This is done for simplicity. Restoring files is as simple as navigating to the backup directory using your preferred file browser and copying the files back to your source drive.

The directory structure of the backup location includes a directory named latest that stores the most recent backup, and zero or more incremental backup directories with dates for names. When you perform a backup, all of the latest files go into the latest directory. Any files have have been changed or deleted since the last backup are moved into the incremental backup directory with the current date as a directory name. The incremental backup directories allow you to view and recover files from older backups if necessary. In addition to the latest and incremental backup directories, there should also be a stats text file containing a summary of the results of the last backup.

As an example, assume you have a backup directory of D:/backup. Assume you have performed two backups since the Backup Profile was created, and the second backup was performed on March 3, 2009, where one or more files had been changed or deleted. In this case, you would have the following directory structure:

D:/
   '-- backup/ (your chosen backup directory)
        |-- backup.txt (text file; summary of last backup performed)
        |-- latest/ (directory where latest backup is stored)
        '-- 20090303/ (directory where old and/or deleted files were moved to)

You can configure how long to keep incremental backup directories for in your backup settings. Or you can manage them yourself, simply by deleting incremental backup directories you no longer wish to keep. If more than one backup is performed on the same day, subsequent incremental backup directories on that day will have an additional number appended to the directory name (i.e., if a second backup was performed on March 3, 2009, it might create the directory 20090303-1).

Logging

By default, CatBack sends informational and error log messages to the log window accessible through the menu. If you are adventurous, you can reroute logging in CatBack by adding the following command-line switch when starting the program:

"-l <logging-properties>", where logging-properties is either the filename of a standard log4j properties file or equal to "console" for console output.

Logging to console will only work if starting CatBack from the command line.

A basic log4j properties file named catlogging.properties is distributed with CatBack and can be used to log program messages to disk. When used, this properties file will cause program messages to be written to a file called cat.log. A shortcut set up to use this logging file would look similar to this example (example shows what shortcut might look like under Windows XP).

Version History

Detailed version history information is available through the Cat Back main menu (Help->About).

Requirements/Credits

CatBack is a Java application and requires Java 1.5 or later to operate.

Testing on CatBack has only been performed under Windows XP and Mac OS X. Linux platforms have been tested as backup locations only. CatBack has been designed to work with large backups, and has been successfully tested with backups as large as 100,000 files totaling over 500 GB.

Credits:

* The file comparison code contributed by Joe Orost is for comparing Backup Profiles only, to determine if the user should be prompted to save their Backup Profile before program exit. It is not used for the actual backup process. The backup file comparison process looks only at file length and modified date, whereas the code provided by Joe Orost does a thorough bitwise comparison.

CatBack v 1.2 - June 12, 2010