Synthetic Full Backup For Files/Folders
Gbackup backs up the entire file during the first backup. When changes are made to the file, Gbackup backs up the changes in the file (with respect to the file's first backup) as version files in the subsequent incremental backup schedules. Over a period of time,
- Overview
- How does Synthetic Full Backups for files work
- Restoring Synthetic Full Backups
- Enabling Synthetic Full Backup for File Backups
- FAQs
Overview
Gbackup backs up the entire file during the first backup. When changes are made to the file, Gbackup backs up the changes in the file (with respect to the file's first backup) as version files in the subsequent incremental backup schedules. Over a period of time, the version files could grow in size as more and more changes are made to the file. To reduce the size of these version files, it is recommended to run Full Backup Schedules periodically.
However, running full backups periodically may not always be a viable option. The bandwidth between the client machines and the backup server may be limited. Seeding the full backups manually every time is resource intensive. Synthetic Full Backups addresses this scenario by reducing the need of doing frequent additional full backups.
How does Synthetic Full Backup for files work
During file backups, Gbackup client keeps a record of the amount of data uploaded (compressed size) for each of the backed up files. If the Gbackup client detects that the compressed size of an incremental backup (compressed data of the changed bytes with the respect to the first backup) exceeds a certain percentage (can be set by the user) of the size of the compressed data that was uploaded during the file's first backup, it marks that file as 'Ready for Synthetic'. During the subsequent incremental backup of the file, the Gbackup will do a 'Synthetic Full Backup' of the file. The Synthetic Full Backup works exactly like the incremental backup except that the metadata of the file gets updated to that Synthetic Full Backup version, so that during the subsequent incremental backups, the changed bytes with respect to the last synthetic full backup is backed up.
Example
Assume you have a file of size 1GB that got compressed to 100MB and backed up initially.

Say the file was modified to size 1.6GB. During the next incremental backup, Gbackup would identify the changed blocks (assume for simplicity sake it is 0.6GB), compress (& encrypt) it to say 60MB and backs in up. The size of the first version is therefore 60MB, which is 60% size of the initial 100MB backup. Say Synthetic Full Backup was enabled for this backup schedule to do a Synthetic Full when the size of the version file reached 50% (default is 80%) of the initial back up. Since the size of the incremental was greater than 50%, Gbackup will mark that file as 'Ready for Synthetic Full'.

During the next incremental backup, say the file is 1.8GB. Gbackup will do a Synthetic Full Backup of the file and also update its metadata. It will backup the changed blocks (0.8GB) with respect to its previous full backup (just like an incremental backup) and mark it as a 'Synthetic Full' version in the backup server. The backup server doesn't merge the files in the backup server. The version files of the incremental and synthetic full backups remain as individual files.

During subsequent incremental backups, the version files created will be with respect to this last 'Synthetic Full' version and not the initial Full Backup. Therefore, if the file is 2GB in size, it will take the changed blocks of 0.2GB alone (remember the file was 1.8 GB when the 'Synthetic Full' was run), compress it to say 20MB and back it up. If Synthetic Backup was disabled, this version file would be of size 100MB (changed blocks of 1GB compressed to 100MB).

Restoring Synthetic Full Backups
For restoring a particular version of a file in a backup schedule that had Synthetic Full Backup enabled, the particular incremental version file and all the previous Synthetic Full Backup files along with the original full backup of the file are needed. Like for example, if O is the original (initial full) backup of the file, SF1, SF2 are the synthetic full backups and I1, I2, I3 and I4 are the incremental backups. Assume the sequence of the backups were as follows:
O, I1, I2, SF1, I3, SF2, I4
During the restore of the file version I4, Gbackup would download and restore the backup files as follows:
R (I4) = O + SF1 + SF2 + I4
If the file version I3 needs to be restore, the files O, SF1 and I3 would be needed.
R (I3) = O + SF1 + I3
The backup server doesn't merge the files in the backup server. The version files of the incremental and synthetic full backups remain as individual files and they are merged in the client side only during restore.
Enabling Synthetic Full Backup for File Backups
By default, Synthetic Full Backup for file backups is disabled. If you are creating a new backup job or editing an existing backup schedule, you can enable Synthetic Full Backup for it by going to the Advanced Options in the Add (or Edit) Backup Schedule page and then selecting the option as shown below.

You can specify when the Synthetic Full Backup should run by specifying the limit of the version file size. By default it is 80% of the original backup data. A very low value will lead to too many Synthetic Full Backups been run and those need to be maintained in the backup server. A very large value could lead to Synthetic Backups not running at all.
FAQs
Is Synthetic Full backup run for all the files configured in the backup in the same incremental backup?
No. Synthetic Full Backup will be run only for those files which have been modified since last backup and whose last incremental backup size exceeded the limit set by the user for Synthetic Full Backup. For example, 100 files might have changed since last incremental backup schedule. Out of the 100, only 10 files were probably marked as 'Synthetic Full Backup' ready because their last incremental backup exceeded the limit. During the next incremental backup, Synthetic Full Backup will be run for only those 10 files. For the rest 90 files, it will be a regular incremental backup.
Will version file retention policies work when Synthetic Full Backup is enabled?
Yes. Both time based and version file count based retention policies will continue to work. The retention clean up will happen only for incremental backups and will not be applicable to Synthetic Full Backup files. All Synthetic Full Backups will be retained in the backup server as they are needed for restore.
Can Synthetic Full Backups be scheduled like Additional Full Backups?
No. For file backups, Synthetic Full Backups are automatically run during the regular incremental backup schedules, depending up on whether the size of file's incremental is exceeding the user set limit or not.
Is there a way to find out which files have large number of Synthetic Full Backups?
Currently it is not available. This will be available in the backup reports in the future releases.
I have enabled Synthetic Full Backup. Can I forget about doing Additional Full Backup Schedules
Over a period of time, the number of Synthetic Full Backups could increase, especially for those files that change very frequently and changes are significant. Therefore it might be a good idea to schedule full backups also, say once in 6 months.
Synthetic Full Backup for files is fine. How about Synthetic Full Backup for Exchange Server backup?
Synthetic Full Backup for Exchange Server backup is available. For details, please check this help document.


