CodeTwo Backup is a program designed for creating backups of mailboxes for Office 365 and on-premises Exchange Server, which you can treat as a missing Office 365 backup policy. It can be installed on any Windows based machine meeting these system requirements (within a particular domain for Exchange on-premises backups or with the internet access for Office 365 backups) to backup data locally. The search mechanism makes it possible to look through the backed up data in detail, from the entire mailboxes and folders to individual items and their attachments, and then to 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.
The program backs up data using the Continuous Incremental Backup model. How does this model work? 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 the continuous jobs. One job cycle runs through all defined mailboxes and creates the backup of items included in these mailboxes (program supports backing up all types of items: Emails, Contacts, Calendars, Tasks, etc.). The process of backing up data involves pulling mailboxes' items from Exchange Server and saving them to local Storage. While backing up a mailbox, a job backs up all items included in this mailbox that are not present yet in the local Storage or have been modified in some way since the last backup cycle. In this way, during the first cycle the job needs to pull all items from mailboxes defined in this job and save them to Storage. In the following cycles, however, the program examines data saved in Storage, compares it with the most recent items pulled from the mailbox and saves only new or modified items. Due to this solution, on the contrary to the first backup cycle, the package of data pulled from mailboxes in the following cycles is limited only to new or modified items, what enables keeping the low volume of the package.
Items from mailboxes included in the backup process may be modified in these mailboxes on a regular basis, so particular items may be different while running the ongoing backup cycles. That is why items saved in Storage are versioned. It is likely that lots of items are modified several times (from their creation to deletion) in a mailbox during their lifetime, and thus they are saved in Storage in multiple versions. While restoring items, you can select which version from what day to restore. Please note, however, that the number of versions in Storage may be smaller than the actual number of modifications made on these items on mailboxes. It derives from 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 recent versions of items the backup job encounters while processing the particular items in its regular cycles. In general, the program can save one item version per one cycle, and it is always the most recent version.
|Fig. 1. Different versions of items in Storage.|
Storages are chosen local folders on a machine equipped with the program used for storing backups of mailboxes. The program enables creation of multiple Storages, each of which can be used simultaneously by multiple jobs backing up or restoring data.
|Fig. 2. Storages listed.|
Data saved in Storage is presented in a way that mimics the original structure of mailboxes. Thanks to this solution, you can quickly browse and search data backed up in Storage using variety of filters such as text fields, date, size, sender, recipient. This feature helps you easily find the desired items and include them into the restore process. While restoring data, you can recover individual items, chosen folders or entire mailboxes. During this process, you can select the exact version of source items or choose their modification time to be restored from. As far as a target location for restoring data is concerned, you can choose between the original (the same mailbox and folder on the same Exchange Server) and another location (different mailbox, folder on the same or another Exchange Server). The program also enables to decide how the items' conflicts will be resolved by choosing to overwrite the existing items, leave them unchanged or duplicate them.
|Fig. 3. Choosing an item to be restored.|
The Retention Policy feature allows you to perform automatic removal of items from Storages, which are older than desired amount of time. The retention policy is always applied separately for each of your storages. Thanks to this function, you will never encounter an error due to insufficient free storage on your server. What is more, we strongly recommend to combine this feature with Archive Job.
When you are backing up your data, it takes more and more space on your hard disk. Consequently, at some point you will need to store your data on some external drive or network location. This can be done using the Archive Job. If you combine this feature with Retention Policy, you are able to store all data on external drive and keep only the very latest items inside the storage. In case of need, you may always recover data from archived storage.
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, which packs it tight to keep its volume low. Additionally, all data is pulled and pushed back to servers in packages, what decreases the number of messages exchanged between the program and the server.
Another feature of the program useful while keeping the server load at the right level is the built-in scheduler. Using the scheduler, you can define the time frames (Activity Periods) for running each backup job. This enables you to schedule the program, e.g. to back up data only during the lowest traffic on the server. The Scheduler can be considered as a tool that automatically hits the Start and Stop buttons for the backup job within the defined time frames. These buttons are also present in the UI, and you can use them whenever a need arises.
You can use the Scheduler for both default continuous and one-time backup jobs.
|Fig. 4. Scheduling a backup job.|
Besides the continuous backup jobs that automatically back up mailboxes in cycles, you can also configure the program to perform one-time jobs. This type of job performs only one backup cycle on the defined mailboxes and stops once completed. All jobs restoring data are of the one-time type.
The program can be used to backup 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 a choice of server connection is done per job, each job can be connected to a different server.
The program lets you choose to back up individual or multiple Exchange mailboxes and decide to back up either all items from the selected mailboxes or only those items that meet the specified modification date. Additionally, 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.
CodeTwo Backup includes two components: the Administration Panel and the Backup Service. The Administration Panel is used for defining and managing all features of the program, whereas the Backup Service is responsible for executing jobs, i.e. backing up and restoring data. Such a solution enables running all jobs in the background and does not require the Administration Panel to be opened. Furthermore, you do not even need to log into the system.
The Administration Panel comprises four views: Dashboard, Jobs, Storages, and Backups. The Jobs view is used to manage jobs while the Storages view is used to manage Storages. The Backups view is used to browse, filter and restore data. Dashboard is the general view that collects all aspects of the program's performance where you can quickly check the current state of the program. The Dashboard view also includes the Alerts section that shows important information and possible alerts or errors that often require your attention.
|Fig. 5. The Administration Panel's views.|