Depuis plusieurs années j’utilise des VPS chez différents hébergeurs, certains ont des systèmes de backups intéressants, d’autres non. C’est pour cela que je me suis mis en quête d’un système de sauvegarde qui fonctionnerais à chaque fois.
## Prérequis :
- Un VPS avec un mode Rescue sous Debian
- Un serveur FTP
## Lancer la sauvegarde :
Redémarrez votre VPS sur le disque de rescue. (via le panel de votre hébergeur)
Connectez vous en root.
Identifier la partition (ou le disque) que vous aller sauvegarder avec :fdisk -l
Installer ftp et dcfldd :
```plaintext
apt install ftp dcfldd
```
Connectez vous à votre serveur FTP :
```plaintext
ftp <IP_DU_SERVEUR>
```
Entrez votre identifiant et votre mot de passe.
Rendez vous dans le dossier où vous souhaitez faire votre sauvegarde.
Ce la va créer à la racine un fichier backup.tar.gz avec la date d’aujourd’hui tout en excluant les dossiers temporaires et inutiles pour la restauration.
> Vous pouvez ajouter autant de répertoires à exclure de la sauvegarde que vous voulez avec le paramètre `--exclude`. En revanche, dans tout les cas il est inutile de prendre`/proc`, `/tmp`, `/dev` ,`/sys` et `/run`
On peut aussi lancer la commander avec`nohup` pour éviter de perdre le processus une fois le terminal coupé (éviter l’envoi signal SIGHUP alias « *signal hang up* » qui clôture l’ensemble des processus enfants lancées par le terminal virtuel) :
> **Attention :** Bien exclure le fichier**nohup.out** de la sauvegarde. Celui-ci est crée dans le répertoire où vous travaillez (En utilisant la variable **$PWD**).
- Dépôt : espace de stockage contenant les archives
- Archive : un ou plusieurs dossiers/fichiers sauvegardés
- Chunk : Les fichiers sont coupés en bloc de taille fixe avec un hash unique
- srv-backup : Serveur de stockage hebergant les dépôts
- srv-app : Serveur à Sauvegarder
### Installation du paquet
```plaintext
root@srv-backup:~# apt install borgbackup
```
```plaintext
root@srv-app:~# apt install borgbackup
```
### Configuration de srv-backup
```plaintext
root@srv-backup:~# adduser borg
borg@srv-backup:~$ mkdir ~/sauvegardes
```
### Setup SSH
```plaintext
root@srv-app:~$ ssh-keygen
root@srv-app:~$ ssh-copy-id borg@srv-backup
```
### Initialisation du dépôt
```plaintext
root@srv-app:~# borg init -e keyfile borg@srv-backup:sauvegardes/srv-app
```
### Première sauvegarde
```plaintext
root@srv-app:~# borg create borg@srv-backup:sauvegardes/srv-app::test /home
```
Vous pouvez ajouter des options, veuillez-vous référer à la documentation. Voici un exemple pour ajouter des informations pendant le transfert, choisir la compression lz4 et nommer l'archive avec la date du jour :