1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-12-29 02:50:22 +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 title: Backup
description: Faire ses sauvegardes sous Linux description: Faire ses sauvegardes sous Linux
published: true published: true
date: 2021-06-14T07:44:04.611Z date: 2021-06-14T07:47:25.423Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-05-24T10:35:12.754Z 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 # Sauvegarder son poste
@ -37,13 +37,13 @@ Identifier la partition (ou le disque) que vous aller sauvegarder avec :fdisk -l
Installer ftp et dcfldd : Installer ftp et dcfldd :
```plaintext ```bash
apt install ftp dcfldd apt install ftp dcfldd
``` ```
Connectez vous à votre serveur FTP : Connectez vous à votre serveur FTP :
```plaintext ```bash
ftp <IP_DU_SERVEUR> ftp <IP_DU_SERVEUR>
``` ```
@ -63,19 +63,19 @@ Connectez vous en root.
Identifier la partition (ou le disque) que vous aller restaurer avec : Identifier la partition (ou le disque) que vous aller restaurer avec :
```plaintext ```bash
fdisk -l fdisk -l
``` ```
Installer ftp et dcfldd : Installer ftp et dcfldd :
```plaintext ```bash
apt install ftp dcfldd apt install ftp dcfldd
``` ```
Connectez vous à votre serveur FTP : Connectez vous à votre serveur FTP :
```plaintext ```bash
ftp IP_DU_SERVEUR 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 : Lancer la restauration avec la commande suivante :
```plaintext ```bash
get MON_IMAGE.gz "| gunzip | dcfldd of=/dev/MA_PARTITION sizeprobe=of statusinterval=5" 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 : 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 / 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) : 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 / & 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 ### Installation du paquet
```plaintext ```bash
root@srv-backup:~# apt install borgbackup apt install borgbackup
``` ```
```plaintext ```bash
root@srv-app:~# apt install borgbackup apt install borgbackup
``` ```
### Configuration de srv-backup ### Configuration de srv-backup
```plaintext ```bash
root@srv-backup:~# adduser borg adduser borg
borg@srv-backup:~$ mkdir ~/sauvegardes mkdir ~/sauvegardes
``` ```
### Setup SSH ### Setup SSH
```plaintext ```bash
root@srv-app:~$ ssh-keygen ssh-keygen
root@srv-app:~$ ssh-copy-id borg@srv-backup ssh-copy-id borg@srv-backup
``` ```
### Initialisation du dépôt ### Initialisation du dépôt
```plaintext ```bash
root@srv-app:~# borg init -e keyfile borg@srv-backup:sauvegardes/srv-app borg init -e keyfile borg@srv-backup:sauvegardes/srv-app
``` ```
### Première sauvegarde ### Première sauvegarde
```plaintext ```bash
root@srv-app:~# borg create borg@srv-backup:sauvegardes/srv-app::test /home 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 : 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 # https://borgbackup.readthedocs.io/en/stable/quickstart.html#backup-compression
# lz4 (super fast, low compression) # lz4 (super fast, low compression)
# zstd (wide range from high speed and low compression to high compression and lower speed) # zstd (wide range from high speed and low compression to high compression and lower speed)
# zlib (medium speed and compression) # zlib (medium speed and compression)
# lzma (low speed, high 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 le dépôt et les archives
Information sur la taille du dépôt : Information sur la taille du dépôt :
```plaintext ```bash
root@srv-app:~# borg info borg@srv-backup:sauvegardes/srv-app borg info borg@srv-backup:sauvegardes/srv-app
``` ```
Liste des archives du dépôt : Liste des archives du dépôt :
```plaintext ```bash
root@srv-app:~# borg list borg@srv-backup:sauvegardes/srv-app borg list borg@srv-backup:sauvegardes/srv-app
``` ```
Information sur la taille de l'archive : Information sur la taille de l'archive :
```plaintext ```bash
root@srv-app:~# borg info borg@srv-backup:sauvegardes/srv-app::test borg info borg@srv-backup:sauvegardes/srv-app::test
``` ```
Liste des fichiers de l'archive : Liste des fichiers de l'archive :
```plaintext ```bash
root@srv-app:~# borg list borg@srv-backup:sauvegardes/srv-app::test 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 : 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 Original size Compressed size Deduplicated size
All archives: 1.01 GB 444.37 MB 432.50 MB 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 ### Emplacement de la Config et du Cache
```plaintext ```bash
~/.config/borg ~/.config/borg
~/.cache/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 ### Monter une archive
```plaintext ```bash
root@srv-app:~# borg mount borg@srv-backup:sauvegardes/srv-app::test /mnt borg mount borg@srv-backup:sauvegardes/srv-app::test /mnt
``` ```
### Supprimer une archive et un dépôt  ### Supprimer une archive et un dépôt 
```plaintext ```bash
root@srv-app:~# borg delete borg@srv-backup:sauvegardes/srv-app::test borg delete borg@srv-backup:sauvegardes/srv-app::test
``` ```
```plaintext ```bash
root@srv-app:~# borg delete borg@srv-backup:sauvegardes/srv-app borg delete borg@srv-backup:sauvegardes/srv-app
``` ```
### Vérifier et Réparer ### Vérifier et Réparer
```plaintext ```bash
root@srv-app:~# borg check -v --progress borg@srv-backup:sauvegardes/srv-app::test borg check -v --progress borg@srv-backup:sauvegardes/srv-app::test
``` ```
```plaintext ```bash
root@srv-app:~# borg check --repair borg@srv-backup:sauvegardes/srv-app::test borg check --repair borg@srv-backup:sauvegardes/srv-app::test
``` ```
### Automatiser la sauvegarde ### Automatiser la sauvegarde
Voici un script d'exemple qui va sauvegarder /etc et /home puis faire une purge des archives : Voici un script d'exemple qui va sauvegarder /etc et /home puis faire une purge des archives :
```plaintext ```bash
#!/bin/bash #!/bin/bash
# Variables # Variables