Synchronizing a Repository to a Second Location


- Overview

- Configuring Remote Syncs

- Choose Activity Type

- Synchronization Type

- Connection Details

- Configuration


Overview

'Remote Sync' enables an entire repository, including all the backups stored in that repository, to be synchronized to a secondary location. This can be used to ensure that offsite replication of backup data is performed. The SiteBackup server will manage the stopping of backups on the server, ensuring that the synchronization process has a consistent view of the repository. The synchronization process will also manage failed and partially uploaded files and ensure the remote copy of the repository is always in a consistent state.


Configuring Remote Syncs

To configure a 'Remote Sync' for a repository, select 'Remote Sync' at the top of the 'Active Backups' page.

Choose Activity Type

On the first page of the wizard, ensure that 'Schedule Synchronization' is selected, then select the repository that will be synchronized to a second location:

Synchronization Type

On the second page of the wizard, select the type of remote synchronization that will be performed:

Synchronization Type
Description
Windows Network Share

Synchronization to any remote server that can communicate as a SMB/CIFS share.

Local Path Synchronization with any file path local to the SiteBackup server. This might be a folder, a local USB disk, or any other path which can be read and written to as a folder
File Transfer Synchronization to a server running SFTP, FTP, or FTPS
Amazon S3 Synchronization to any S3 compatible storage provider.

Connection Details

The 'Connection Details' page of the wizard is used to specify the information required to synchronize the backups. The information required on this page will change depending on the synchronization type that was selected:

The information required for each type of sync is shown below:

Synchronization Type
Available Options
Windows Network Share

Network share path in UNC format:

\\server\share\folder

Authentication - Username, password, and domain. If a domain is entered as part of the username (in DOMAIN\User or user@domain.dns form), the domain field is disabled.

Local Path

Local path in Windows path format:

E:\RemoteSync\Destination

Authentication - Optional username, password, and domain. If these are omitted, the path is accessed using the SYSTEM account of the SiteBackup server.

File Transfer
  • Server URL - FTP, FTPS, or SFTP in the URL dropdown Path to the server in URL format, omitting the leading SFTP:
    sftp://example.com/home/backups/macrium,
  • Authentication - Username and password for the remote server.
  • Port - A custom port may also be supplied, ranging between 1 - 65535.
  • SFTP Paths

    When configuring an SFTP server, include the full path to the folder to sync to in the server path, not the path relative to the user's home folder. For example, when connecting to a server as user, to sync to the user's home folder the full path must be specified e.g. example.com/home/user/macrium not example.com/macrium

    This may not apply to all SFTP servers or to FTP servers.

Amazon S3
  • S3 Service - Amazon, Wasabi, Backblaze, or custom for full configuration control.
  • Endpoint - URL per the service provider's specification, required only for custom configurations, protocol type (HTTPS or HTTP) with URL omitting the leading protocol type.
  • Bucket - Active bucket as configured within the service provider's console.
  • Region - The selected buckets' region identifier per the service provider's specification.
  • Concurrent Buffers - Number of buffers to use for simultaneous upload of a file. More buffers can improve upload speeds on faster internet connections. Warning, over saturation of the internet connection may lead to extensive timeouts.
  • Root Path - Location within the bucket to upload remote sync files to, should be forward slash separated.
  • Authentication - Access key and secret key as configured within the service provider's console.

Configuration

The final page is used to specify the configuration for the remote synchronization, the options detailed below apply to all synchronization types:

Option Description
Custom Name The custom name is shown in the UI to identify the sync. If left blank, the server/local path of the sync will be used instead.
Folder Name

The folder name set here will be created on the server/remote path to store the synchronized backups.

The path configured as part of the network or server path must exist on the remote server or the sync process will generate an error, however, SiteBackup will create the folder set as the 'Folder Name' if it does not already exist.

For example, if remote sync is configured with a server of sftp://192.168.0.1/home/backups and a folder name of SiteBackup1, the sync process will store image files in /home/backups/SiteBackup1, creating the SiteBackup1 folder if necessary.

Multiple repositories can sync to the same server/network path so long as the folder name is different for each one.

Synchronization Window - Times The synchronization window controls what time of day the sync will run. When the start time is reached, SiteBackup will stop scheduling backups on the repository, wait for any existing backups to finish then run the sync. After the sync has finished, backups resume. If the sync can't be started before the sync end time is reached, the sync attempt is abandoned until the following day. This option allows some control over when high internet bandwidth options, like syncs, get run.
Synchronization Window - Frequency The sync process can be limited to only happening on some days of the week by selecting the desired days here.
Options - Allow Backups During Remote Sync

If this option is selected, backups to the repository will be allowed to continue during the synchronization process, with some limitations. 

  1. The remote sync can only start when no backups are running - this is so that there is a consistent, point in time view of which backups exist
  2. The sync process will find changes and data to upload and sort them by computer
  3. Changes are uploaded for the computer with the smallest amount of data to upload
  4. The computer from step 3 is "unlocked" and backups for this computer may now start
  5. Steps 3 and 4 are repeated until all data is uploaded
  6. The change is committed in the remote location. Before this step, if the sync fails, the changes can be rolled back to the previous repository state
Enable per folder upload

Uploaded backups are committed to the remote location immediately after new data has been uploaded for each folder. A folder in the repository corresponds to the backups for an individual computer and backup definition. This option reduces the impact of upload failures by more frequently checkpointing so that less work is required to recover a consistent checkpoint and continue the sync on reupload. It can also reduce the amount of temporary storage space on the remote sync target as each checkpoint will flush old files that are no longer needed.

When using this option, the remote store will always remain in a state where it can be rolled back to the last checkpoint should a connection be interrupted. This is generally not an issue - if the sync is retried after interruption, the sync will continue from the checkpoint until completion, but if the sync cannot be retried (due to repository disk failure for example), some folders in the remote sync will have the pre-sync contents and some post-sync contents. If there is a requirement that the backups for two computers remain in close sync (e.g. a replication set of servers), this option may be inappropriate. 

Select 'Finish' to complete the remote sync configuration, a connection test is then performed to the destination and any errors will be highlighted:

Once the remote sync has been created, it can then be viewed on the 'Active Backups' page of SiteBackup under the relevant repository: