CatBack User Guide

CatBack version 1.4



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 taken to a series of panels to enter your backup information. Follow through each panel by clicking the navigation buttons at the bottom or by selecting the panels from the panel list on the left side of the screen. The panels you will navigate through include:

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.

Performing Backup of Files

Start your backup by clicking on the Begin Backup button on the Summary panel (you can also run a backup by using the "-b" command-line switch described later). A backup consists of up to 6 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. Inspecting Files: A list of files you wish to backup is compiled. This generally takes very little time.
  2. Inspecting 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. This step can be skipped most of the time by by turning off the "Perform full scan of last backup" option in the preferences.
  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. Removing Expired Incremental Backups: Depending on your incremental backup settings, old incremental backup directories may be removed.
  5. 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.)
  6. 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 statistics file named ".cb_statistics" in the backup directory; this file contains your backup history.

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:

   '-- backup/ (your chosen backup directory)
        |-- .cb_statistics (backup history file)
        |-- 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).


By default, CatBack sends informational and error log messages to the file "catback.log" located in the application startup directory. You can reroute logging in CatBack by adding one of the following command-line switchs when starting the program:

"-l off" - turns off logging

"-l console" - sends logging messages to the console (note: you normally will not see console output if launching CatBack from a desktop shortcut or start menu)

"-l <logging-properties>", where logging-properties is the filename of a standard log4j properties file.

A basic log4j properties file named 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).


CatBack is a Java application and requires Java 1.6 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 and totaling over 500 GB.


* 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.4 - August 1, 2013