Knowledge base

1000 FAQs, 500 tutorials and instructional videos. Here, there are only solutions!

Back up a Web Hosting with Restic on Swiss Backup (Swift)

Update 03/16/2026

This guide details how to save data from your web hosting (Starter, shared, or Managed Cloud Server) using the application restic via the OpenStack Swift protocol on Swiss Backup, the backup solution in an independent Swiss cloud.

 

Preamble

  • Other solutions exist to back up your web data: refer to this other guide.
  • The various services offered by Infomaniak are all compatible with the corresponding standard protocols (S3/Swift for storage, for example), therefore if you encounter a problem with third-party software, contact its publisher or a Partner and consult the support policy as well as article 11.9 of the Infomaniak Terms of Service.

 

Install Restic

Prerequisites

To do this:

  1. Download the linux_amd64 binary from the restic github repository:

    wget -O restic.bz2 https://github.com/restic/restic/releases/download/v0.14.0/restic_0.14.0_linux_amd64.bz2

    ⚠️ The download link may vary with the release of a new version; version 0.14 uses the default compression.

  2. Unzip the archive and make the binary executable:

    bunzip2 restic.bz2
    chmod +x restic

 

Configure Restic

Creation of an encryption key to encrypt the data

  • The key cannot be changed and in case of loss the data will no longer be readable.
  • Place this key in a file readable by Restic.
  • Example of key generation:

    openssl rand -base64 16 > restickey	

Configuration of restic

To configure the backup:

  1. Create a resticconfig file with the following content to be adapted according to the information specific to your device:

    echo "export OS_AUTH_URL=https://swiss-backupXX.infomaniak.com/identity/v3
    export OS_REGION_NAME=RegionOne
    export OS_PROJECT_NAME=sb_project_SBI-XXXX
    export OS_PASSWORD=''
    export OS_USER_DOMAIN_NAME=default
    export OS_USERNAME=SBI-XXXX
    export OS_PROJECT_DOMAIN_NAME=default
    export RESTIC_REPOSITORY=swift:sb_project_SBI-XXXX:/
    export RESTIC_PASSWORD_FILE=restickey" > resticconf
    • OS_AUTH_URL Cluster access URL for Swiss Backup (1)
    • OS_PROJECT_NAME and OS_USERNAME replace SBI-XXXX with your identifier
    • OS_PASSWORD replace with the password generated during activation
    • RESTIC_REPOSITORY
      1. replace SBI-XXXX with your identifier
      2. replace the bucket name with the name you want to give to your container that stores the backups
    • RESTIC_PASSWORD_FILE replace with the full path to the file containing the encryption key
  2. Load the Restic configuration by running the following command:

    source resticconf	
  3. Initialize the bucket with the following command:

    ./restic -r $RESTIC_REPOSITORY init	

(1) The indication "//swiss-backup02", "//swiss-backup03" etc. changes depending on the cluster number indicated in the Manager under Cloud Storage Information under "Location"; and if your Swiss Backup device was created before October 2020, you will need to use https://swiss-backup.infomaniak.com/identity/v3

 

Backup your files

To back up your files, simply run the following command:

./restic backup
#Example: Backing up the entire hosting account
./restic backup ./
#Example: Backing up the “sites” folder
./restic backup sites/

The first snapshot is long (several hours depending on the amount of data) because all files are copied while the subsequent ones will use the differential principle.

 

Backup databases

Restic can read data from stdin to record the output of a program.

Use the following command to back up an individual MySQL database:

mysqldump --databases db_name -u db_username -p | restic backup --stdin --stdin-filename database_dump.sql	

To back up all databases, run the mysqldump command to extract all databases from the server, then redirect the output to Restic:

mysqldump -u  -p --all-databases | restic backup --stdin --stdin-filename all_databases.sql	

 

List backups

To list your backups, you can use the following command:

./restic snapshots	

 

Restore a backup

You can restore a backup with the following command:

./restic restore  --target 	

 

Automate

On a Cloud Server, it is possible to add a cron task to automate the launch of the backup.

This option is not available on shared hosting.


Has this FAQ been helpful?