1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-12-28 10:30:24 +01:00

docs: update Linux/Avancé/Backup

Cette révision appartient à :
Mickael Asseline 2021-06-14 07:47:27 +00:00 révisé par Mickael Asseline
Parent 8d9c930c8b
révision 3088d17e7e

Voir le fichier

@ -2,13 +2,13 @@
title: Backup
description: Faire ses sauvegardes sous Linux
published: true
date: 2021-06-14T07:44:04.611Z
date: 2021-06-14T07:47:25.423Z
tags:
editor: markdown
dateCreated: 2021-05-24T10:35:12.754Z
---
![Linux server backup and replication services | Dogsbody Technology](https://www.dogsbody.com/wp-content/uploads/Server-backup.png)
![Linux server backup and replication services | Dogsbody Technology](https://www.dogsbody.com/wp-content/uploads/Server-backup.png =35%x)
# Sauvegarder son poste
@ -37,13 +37,13 @@ Identifier la partition (ou le disque) que vous aller sauvegarder avec :fdisk -l
Installer ftp et dcfldd :
```plaintext
```bash
apt install ftp dcfldd
```
Connectez vous à votre serveur FTP :
```plaintext
```bash
ftp <IP_DU_SERVEUR>
```
@ -63,19 +63,19 @@ Connectez vous en root.
Identifier la partition (ou le disque) que vous aller restaurer avec :
```plaintext
```bash
fdisk -l
```
Installer ftp et dcfldd :
```plaintext
```bash
apt install ftp dcfldd
```
Connectez vous à votre serveur FTP :
```plaintext
```bash
ftp IP_DU_SERVEUR
```
@ -85,7 +85,7 @@ Rendez vous dans le dossier où vous avez stocké votre sauvegarde.
Lancer la restauration avec la commande suivante :
```plaintext
```bash
get MON_IMAGE.gz "| gunzip | dcfldd of=/dev/MA_PARTITION sizeprobe=of statusinterval=5"
```
@ -99,7 +99,7 @@ Redémarrer votre VPS sur le disque principal.
Pour sauvegarder son système on peut utiliser la commande `tar` avec les paramètres suivants :
```plaintext
```bash
tar cvpzf backup-$(date +%d-%m-%Y).tar.gz --exclude=/backup-$(date +%d-%m-%Y).tar.gz --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys --exclude=/run --exclude=/media --exclude=/var/log --exclude=/usr/src/linux-headers\* --exclude=/home /
```
@ -113,7 +113,7 @@ Ce la va créer à la racine un fichier backup.tar.gz avec la date d’aujourd
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) :
```plaintext
```bash
nohup tar cvpzf backup-$(date +%d-%m-%Y).tar.gz --exclude=/backup-$(date +%d-%m-%Y).tar.gz --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys --exclude=/run --exclude=/media --exclude=/var/log --exclude=/usr/src/linux-headers\* --exclude=/home --exclude=nohup.out / &
```
@ -158,81 +158,81 @@ Lexique : 
### Installation du paquet
```plaintext
root@srv-backup:~# apt install borgbackup
```bash
apt install borgbackup
```
```plaintext
root@srv-app:~# apt install borgbackup
```bash
apt install borgbackup
```
### Configuration de srv-backup
```plaintext
root@srv-backup:~# adduser borg
borg@srv-backup:~$ mkdir ~/sauvegardes
```bash
adduser borg
mkdir ~/sauvegardes
```
### Setup SSH
```plaintext
root@srv-app:~$ ssh-keygen
root@srv-app:~$ ssh-copy-id borg@srv-backup
```bash
ssh-keygen
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
```bash
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
```bash
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 :
```plaintext
```bash
# https://borgbackup.readthedocs.io/en/stable/quickstart.html#backup-compression
# lz4 (super fast, low compression)
# zstd (wide range from high speed and low compression to high compression and lower speed)
# zlib (medium speed and compression)
# lzma (low speed, high compression)
root@srv-app:~# borg create --progress --stats --compression lz4 borg@srv-backup:sauvegardes/srv-app::{now:%Y-%m-%d} /home
borg create --progress --stats --compression lz4 borg@srv-backup:sauvegardes/srv-app::{now:%Y-%m-%d} /home
```
### Information sur le dépôt et les archives
Information sur la taille du dépôt :
```plaintext
root@srv-app:~# borg info borg@srv-backup:sauvegardes/srv-app
```bash
borg info borg@srv-backup:sauvegardes/srv-app
```
Liste des archives du dépôt :
```plaintext
root@srv-app:~# borg list borg@srv-backup:sauvegardes/srv-app
```bash
borg list borg@srv-backup:sauvegardes/srv-app
```
Information sur la taille de l'archive :
```plaintext
root@srv-app:~# borg info borg@srv-backup:sauvegardes/srv-app::test
```bash
borg info borg@srv-backup:sauvegardes/srv-app::test
```
Liste des fichiers de l'archive :
```plaintext
root@srv-app:~# borg list borg@srv-backup:sauvegardes/srv-app::test
```bash
borg list borg@srv-backup:sauvegardes/srv-app::test
```
On peut voir le gains de place avec la commande borg info grâce à la compression et la déduplication :
```plaintext
```bash
Original size Compressed size Deduplicated size
All archives: 1.01 GB 444.37 MB 432.50 MB
@ -242,7 +242,7 @@ Chunk index: 43183 44850
### Emplacement de la Config et du Cache
```plaintext
```bash
~/.config/borg
~/.cache/borg
```
@ -251,35 +251,35 @@ Le dossier cache peut prendre de la place, vous pouvez le déplacer puis créer
### Monter une archive
```plaintext
root@srv-app:~# borg mount borg@srv-backup:sauvegardes/srv-app::test /mnt
```bash
borg mount borg@srv-backup:sauvegardes/srv-app::test /mnt
```
### Supprimer une archive et un dépôt 
```plaintext
root@srv-app:~# borg delete borg@srv-backup:sauvegardes/srv-app::test
```bash
borg delete borg@srv-backup:sauvegardes/srv-app::test
```
```plaintext
root@srv-app:~# borg delete borg@srv-backup:sauvegardes/srv-app
```bash
borg delete borg@srv-backup:sauvegardes/srv-app
```
### Vérifier et Réparer
```plaintext
root@srv-app:~# borg check -v --progress borg@srv-backup:sauvegardes/srv-app::test
```bash
borg check -v --progress borg@srv-backup:sauvegardes/srv-app::test
```
```plaintext
root@srv-app:~# borg check --repair borg@srv-backup:sauvegardes/srv-app::test
```bash
borg check --repair borg@srv-backup:sauvegardes/srv-app::test
```
### Automatiser la sauvegarde
Voici un script d'exemple qui va sauvegarder /etc et /home puis faire une purge des archives :
```plaintext
```bash
#!/bin/bash
# Variables