restic_-_kaya_-_sauvegarde_en_mode_pull

Restic - Kaya - Sauvegarde en mode pull

Restic (http://restic.net et https://github.com/restic/restic) est un outil de sauvegarde rapide, efficace et proposant de nombreux types de stockage (13 dont local, sftp, S3, rest-server, Minio, Openstack swift, Google, Lirosoft Azure ) . Il est écrit en langage go.

L’objectif est ici de sauvegarder une machine (srv - Debian Bullseye) sur une machine de sauvegarde (bu - Debian Bullseye).

On utilisera le stockage rest-server (https://github.com/restic/rest-server) développé par restic pour ses performances et sa simplicité.

Sur cette machine, on doit installer restic ,

  • soit le paquet debian : apt install restic
  • soit le binaire adapté depuis github :
 wget https://github.com/restic/restic/releases/download/v0.13.1/restic_0.13.1_linux_amd64.bz2
 bunzip2 restic_0.13.1_linux_amd64.bz2 
 mv restic_0.13.1_linux_amd64 restic
 chmod +x restic
 mv restic /usr/local/bin
 restic version

On récupère le binaire depuis github

 wget https://github.com/restic/rest-server/releases/download/v0.11.0/rest-server_0.11.0_linux_amd64.tar.gz
 tar xvfz rest-server_0.11.0_linux_amd64.tar.gz 
 cp rest-server_0.11.0_linux_amd64/rest-server /usr/local/bin
 chmod +x  /usr/local/bin/rest-server 
 rest-server version

Kaya (https://github.com/leaf-node/kaya) est un wrapper bash permettant de lancer une sauvegarde restic en mode pull depuis le serveur de sauvegarde au moyen d'un tunnel SSH.

On clone le dépôt kaya depuis github

apt install pwgen flock apache2-utils # les prerequis
 
git clone https://github.com/leaf-node/kaya.git
cp  kaya /usr/local/bin/
scp kaya-client root@srv:/usr/local/bin/  # on copie kaya-client sur le serveur srv
cp kaya.conf /etc/
chown root:root /etc/kaya.conf
vim /etc/kaya.conf # on pourra adapter le backup_root et les ports réseau pour les adapter aux conditions locales
 
mkdir -p /srv/backups/kaya/  # le backup_root
touch /srv/backups/kaya/.htpasswd

La machine srv doit disposer de restic et de kaya-client (cf plus haut)

Sur cette machine, on doit installer restic ,

  • soit le paquet debian : apt install restic
  • soit le binaire adapté depuis github :
 wget https://github.com/restic/restic/releases/download/v0.13.1/restic_0.13.1_linux_amd64.bz2
 bunzip2 restic_0.13.1_linux_amd64.bz2 
 mv restic_0.13.1_linux_amd64 restic
 chmod +x restic
 mv restic /usr/local/bin
 restic version

La machine srv doit être accessible via SSH depuis bu au moyen d’une clé publique préalablement distribuée

Sur la machine bu

Lancement du serveur rest-server

Par défaut, rest-server écoute sur le port TCP/8000, si celui-ci est déjà utilisé, il faudra spécifier un autre port avec l'option supplémentaire –listen :9000 pour écouter sur le port 9000.

Le fichier kaya.conf devra au besoin être adapté en conséquence.

rest-server --path /srv/backups/kaya/ --append-only --private-repos

d'autre options sont disponibles avec rest-server –help

Sauvegarde rest-server

Pour sauvegarder le répertoire /var/www/html de la machine srv :

kaya srv backup -- /var/www/html

d'autre options sont disponibles avec restic –help

Tout ce qui suit le —- est considéré comme des options et paramètres de restic

mkdir ~/mount/
cd /srv/backups/kaya/srv/
restic -p repo-password-keep -r . mount ~/mount/

Terminer avec <Ctrl-C> ou lancer fusermount -u ~/mount/ dans une autre fenêtre

cd /srv/backups/kaya/srv/
restic -p repo-password-keep -r . snapshot
repository e912e32a opened successfully, password is correct
ID        Time                 Host        Tags        Paths
------------------------------------------------------------------------------------------
0c3fc80a  2022-04-17 22:19:40  vpsxyztuv               /home/xyzadm/docker/siost/traefik
0ce4ba5c  2022-04-17 22:20:02  vpsxyztuv               /home/xyzadm/docker/siost/traefik
0041438c  2022-04-17 22:20:17  vpsxyztuv               /home/xyzadm/docker/siost/shaarli
9c7b8a2e  2022-04-17 22:20:29  vpsxyztuv               /home/xyzadm/docker/siost/shaarli
998c4d05  2022-04-17 22:30:52  vpsxyztuv               /home/xyzadm/docker/siost/gitea
------------------------------------------------------------------------------------------
cd /srv/backups/kaya/srv/
restic -r . -p repo-password-keep stats
repository e912e32a opened successfully, password is correct
scanning...
Stats in restore-size mode:
Snapshots processed:   5
   Total File Count:   24823
         Total Size:   1.012 GiB
  • restic_-_kaya_-_sauvegarde_en_mode_pull.txt
  • Dernière modification : 2022/10/06 23:23
  • de ps