Guide til backup og restore af Ubuntu bruger med Restic

Guiden er skrevet til backup og restore af en bruger på en Ubuntu maskine med Restic.net. Til backup og restore benyttes SFTP til en Ubuntu server.


A. Installation – backup Ubuntu server

1. Installation af SSH server: # apt-get install ssh

2. Statisk IP til backup Ubuntu server: # nano /etc/network/interfaces

Indsæt denne konfiguration (IP span 10.0.0.1-255) for at backup server får en fast IP, i dette tilfælde 10.0.0.50:

# The primary network interface
auto enp0s3
iface enp0s3 inet static
address 10.0.0.50
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
dns-nameservers 8.8.8.8 8.8.4.4

3. # reboot

4. Opret repository mappe på backup Ubuntu server:

#! /bin/bash

repuserdir=/home/user
repdir=$repuserdir/backup

mkdir $repdir


B. Installation – bruger Ubuntu maskine (både den nuværende og den kommende nye)

1. Installer sshpass: # apt-get install sshpass

2. Opret SSH forbindelse til backup server, så du accepterer backup serverens offentlig nøgle. Ellers vil Restic fejle.

3. Installer Restic: # apt-get install restic

4. Dette punkt skal kunudføres på den nuværende bruger Ubuntu maskine. Den nye bruger Ubuntu maskine vil efter restore benytte det allerede eksisterende repository på backup Ubuntu server.

Opret et backup repository på backup server med en adgangskode som bruges til at kryptere de backups der efterfølgende oprettes til dette repository (backup mappe på backup Ubuntu server). Under denne oprettelse af repository skal SSH adgangskoden indtastes to gange, fremover vil den kun skulle indtastes en gang.

#! /bin/bash

repuser=user
repserver=10.0.0.50
repuserdir=/home/user
repdir=$repuserdit/backup

restic -r sftp:$repuser@$repserver:$repdir init


C. Backup af brugermappe på bruger Ubuntu maskine:

1. Backup script:

#! /bin/bash

sshpw=1234
reppw=56789

repuser=user
repserver=10.0.0.50
repuserdir=/home/user
repdir=$repuserdit/backup
userdir=/home/user

echo $reppw > pw.tmp

sshpass -p $sshpw restic -r sftp:$repuser@$repserver:$repdir backup $userdir/ --password-file=pw.tmp

rm pw.tmp


D. Status på rækken af backups

1. Få listet de backups der er foretaget op til nu:

#! /bin/bash

sshpw=1234
reppw=56789

repuser=user
repserver=10.0.0.50
repuserdir=/home/user
repdir=$repuserdit/backup
userdir=/home/user

echo $reppw > pw.tmp

sshpass -p $sshpw restic -r sftp:$repuser@$repserver:$repdir snapshots --password-file=pw.tmp

rm pw.tmp


E. Restore af brugermappe (sidste backup) på bruger Ubuntu maskine:

1. Restore script:

#! /bin/bash

sshpw=1234
reppw=56789

repuser=user
repserver=10.0.0.50
repuserdir=/home/user
repdir=$repuserdir/backup
userdir=/home

echo $reppw > pw.tmp

sshpass -p $sshpw restic -r sftp:$repuser@$repserver:$repdir restore latest --target $userdir/ --password-file=pw.tmp

rm pw.tmp