Skip to main content

Backups and howto

This yunohostYunohost server is backed up onto two separate USB drivesdrives, both of which are on-premise. Several attempts have been made to perform an off-premise backup using both Borg and Restic, but I have found them to be more difficult than it’s worth!

Drive 1 (Drive label: YNHRECOVERY)

This backup uses the built-in Yunohost backup and recovery service. A simple cronjobcron job is usedused, detailing the time and what is to be backed up.

FULL BACK UP

  • Time: Midnight every Wednesday and Sunday
  • What: EVERYTHING. This is a full backup. Everything is checked off in the Yunohost back service.

OTHER

  • Time: 4 AM EVERY day.
  • What: User home folders and emails

Drive 2 (Drive label: DATARECOVERY)

This drive uses the Restic backup/recovery application, which is a third-party application. Again, a cronjobcron job is used to detail the times and what items are to be backed up.

  • Time: 3 AM EVERY day
  • What: The following folders are incrementally backed up:
    • /etc
    • /home
    • /var/www
    • /opt
    • /var/lib/mysql
    • /usr/share/yunohost

The difference between the two backups is that the Restic backup is incrementalincremental, and the last three backups are kept. The Yunohost backup is not incremental; therefore, some administration must be done to prune the drive as it becomes full.

HOW TO USE THE RESTIC BACKUP SERVICE (BASICS)

Restic is a backup service that can be installed from the CLI or through the Yunohost application catalogue. On this server, it has been installed using the CLI.

Where is the Restic app located? Type: which restic will show you where the app is located on your drive.

Where is my Restic repository Located?located? The Restic repository can be found at media/datarecovery/restic. This is a symbolic link from the Restic directory on the main drive. The physical drive is a USB spinner labelled “datarecovery”. 

What is the latest installed Restic version?
Type: restic versionversion. This will tell you the current version, which right now is restic 0.17.3

Can I update Restic? Type: restic self-update. If there is an update availableavailable, it will be downloaded and installed.

Has the backup happened? Type: restic check -r /media/datarecovery/restic

How do I change the backup schedule? Type: crontab -u root -e Nano will openopen, and you can edit the time and contents of your backup.

Can I see the snapshots? Type: restic -r /media/datarecovery/restic snapshots

Can I see the contents of the snapshots? Type: restic ls (snapshotID here) --repo /media/datarecovery/restic

Can I mount the snapshot? Type: restic -r /media/datarecovery/restic mount /mnt/restic

NOTE: For most of the above commandscommands, you will require the restic password that you set up when you created your repositoryrepository, etc.