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 à :
Parent
8d9c930c8b
révision
3088d17e7e
1 fichiers modifiés avec 47 ajouts et 47 suppressions
|
@ -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
|
||||
|
|
Chargement…
Référencer dans un nouveau ticket