CodeTwo Backup is designed to create backups of mailboxes in Office 365 and on-premises Exchange Server. You can treat the program as a missing Office 365 backup policy. It can be installed on any Windows-based machine meeting the system requirements (within a particular domain for Exchange on-premises backups or with internet access for Office 365 backups) to back up data locally. The built-in search mechanism makes it possible to look through the backed up data in detail, from entire mailboxes and folders to individual items and their attachments. You can restore items, selected folders or whole mailboxes to a chosen target location. CodeTwo Backup can be used to back up and restore data for Exchange Server 2010 (SP1 and newer), 2013 and Office 365.

Backup - Overview diagram.

Backup model

The program backs up data using the Continuous Incremental Backup model. To back up data, you need to define a job referring to particular mailboxes residing on your Exchange server. CodeTwo Backup enables you to create multiple jobs that can be run concurrently. Mailboxes are processed by jobs in cycles, and that is why jobs in the program are often referred to as continuous. In one cycle of a backup job, the program runs through all defined mailboxes and creates a backup of items included in these mailboxes (all types of items are supported: Emails, Contacts, Calendars, Tasks, etc.). The process involves pulling mailbox items from an Exchange server and saving them to a local repository called storage. During the first cycle of a backup job, all items are pulled from the mailboxes specified in this job and saved to a storage location. In the cycles that follow, the program examines the data saved in the storage space, compares it with the most recent items pulled from the mailboxes and saves only new or modified items. Thanks to this solution, the amount of data pulled from mailboxes in the subsequent cycles is limited only to new or modified items, which reduces the volume of the storage and saves time.

Learn more about creating backup jobs

Item versioning

Items included in a backup process may be changed in their original (source) mailboxes on a regular basis. In other words, a particular item may be different in each consecutive cycle of a backup job. That is why items saved in a storage location are versioned. An item version shows what happens to an item: an item can be stored as created, modified and deleted. When restoring these items, you can select which version to restore, depending on the backup date (Fig. 1.). Please note, however, that the number of item versions in a storage location may be smaller than the actual number of modifications made to these items on their source mailboxes. This is due to the fact that the program cannot save all versions of modified items in a single cycle because it may cause the server to overload. Therefore, the program saves only the most recent item version available when this item is processed by a backup job. Only one version is saved per one cycle.

Backup - versioning
Fig. 1. Different versions of items in a storage.

Learn more about choosing different item versions to restore


storage is a local folder on a machine equipped with the program where backups of mailboxes are kept. The program allows you to create multiple storage locations (Fig. 2.) - each of them may be used simultaneously by multiple jobs that back up or restore data.

Backup - Storages lited
Fig. 2. Storage locations.

Learn more about managing storage

Data restoring

Data saved in a storage location is displayed by the program in a way that mimics the original structure of mailboxes. Thanks to this solution you can quickly browse and search data backed up in a storage area using variety of filters (such as text fields, date, size, sender, recipient, etc.) and include desired items into the process of restoration. When restoring your data (via a restore job) you can choose to recover individual items, selected folders or entire mailboxes. The program lets you select exact versions of source items or select items depending on their modification time. As far as the target location for data restoration is concerned, you can choose between the original source (the original mailbox, folder and Exchange server) and another location (different mailbox/folder on the original or another Exchange server). The program also allows you to decide how to resolve item conflicts - you can choose to overwrite the existing items, leave them unchanged or duplicate them.

Backup - Restore selected
Fig. 3. Choosing an item to be restored.

Learn more about restoring backups

Data retention policy

CodeTwo Backup features data retention policies that allow you to perform automatic removal of items which are older than a desired amount of time (e.g. a number of days) from their storage location. A retention policy is always applied separately for each of your storage. Thanks to this function, you will never encounter an error caused by insufficient free storage space on your server. What is more, we strongly recommend to combine a data retention policy with the storage archiving feature described later in this article.

Read more about data retention policy

Storage archiving

When you are backing up your data, the storage takes more and more space on your hard disk. Consequently, at some point you will need to store your data on some external drives or in a network location. This can be done using archive jobs. If you combine storage archiving with data retention policies, you will be able to e.g. store all data on external drive and keep only the latest items inside a storage space. If necessary, you may always recover data from archived storage objects by importing the archive to the program.

Learn more about data archiving

Server load

The communication between the program and Exchange Server is optimized to keep the server load low. It is possible thanks to the binary format used while transmitting data. This reduces the volume of the transferred information. Additionally, all data is pulled and pushed back to servers in packages, which decreases the number of messages exchanged between the program and the server.

Scheduler and activity periods

Another feature of the program, useful to keep the server load at the right level, is the built-in scheduler. You can define the time frames (called activity periods) when a job will be running (Fig. 4.). This allows you to schedule the program e.g. to back up data only during the lowest traffic on your server. The scheduler can be considered as a tool that automatically hits the Start and Stop buttons for a job within defined time frames.

You can use the scheduler for various types of jobs, both continuous (default) and one-time, but the available configuration options might differ depending on the job type.

Scheduling a backup job.
Fig. 4. Scheduling a backup job.

Learn more about scheduling backup jobs

One-time jobs

Besides continuous backup jobs that automatically back up mailboxes in cycles, you can also configure the program to perform one-time jobs. These jobs perform only one backup cycle for defined mailboxes and stop when the cycle is completed. All jobs that restore data are of the one-time type.

Learn more about creating one-time backup jobs

Working with multiple servers

The program can be used to back up and restore data simultaneously for multiple Exchange servers located even in different domains or forests. The program can also work with Office 365 and on-premises Exchange at the same time. As the choice of a server connection is done per job, each job can be connected to a different server.

Learn more about managing server connections


The program lets you choose to back up individual or multiple Exchange mailboxes and decide to back up either all items from selected mailboxes or only the items that meet a specified modification date. You can also configure the program to back up items from special folders such as Deleted Items or Junk Email. Filters are defined separately for each job.

Learn more about choosing the data to be backed up

Background operation

CodeTwo Backup includes two components: the Administration Panel and the Backup Service. The Administration Panel is used to define and manage all features of the program, whereas the Backup Service is responsible for executing jobs, i.e. backing up and restoring data. Such a solution makes it possible to run all jobs in the background and does not require the Administration Panel to be constantly open. Furthermore, you do not even need to log in to the system.

Learn more about the program's components

Administration Panel

The Administration Panel comprises four tabs: Dashboard, Jobs, Storages, and Backups (Fig. 5.). The Jobs tab is used to manage jobs while the Storages tab is used to manage storages. The Backups tab is used to browse, filter and restore data. Dashboard is the general view that collects all aspects of the program's performance. It is the place where you can quickly check the current state of the program. The Dashboard tab also includes the Alerts section that shows important information and possible alerts or errors that may need your attention.

The Administration Panel.
Fig. 5. The Administration Panel.

Learn more about the Administration Panel

Was this information useful?