This commit is contained in:
parent
8b423f76da
commit
ea2df719d8
@ -1,30 +1,30 @@
|
|||||||
# Sauvegarder des données
|
# Sauvegarder des données
|
||||||
|
|
||||||
1. Lister les partitions:
|
1. Lister les partitions:
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
lsblk
|
lsblk
|
||||||
```
|
```
|
||||||
2. Identifier la partition contenant les fichiers à sauvegarder
|
2. Identifier la partition contenant les fichiers à sauvegarder
|
||||||
3. Monter la partition
|
3. Monter la partition
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
mkdir /mnt/nom_du_dossier
|
mkdir /mnt/nom_du_dossier
|
||||||
mount /dev/sdXy /mnt/nom_du_dossier
|
mount /dev/sdXy /mnt/nom_du_dossier
|
||||||
```
|
```
|
||||||
4. Cibler le dossier à sauvegarder
|
4. Cibler le dossier à sauvegarder
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
ls /mnt/nom_du_dossier
|
ls /mnt/nom_du_dossier
|
||||||
```
|
```
|
||||||
5. Créer le dossier de réception sur le serveur de backup:
|
5. Créer le dossier de réception sur le serveur de backup:
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
ssh -p 5555 bellinuxien@192.168.1.75
|
ssh -p 5555 bellinuxien@192.168.1.75
|
||||||
mkdir /home/bellinuxien/BACKUPS/nom-de-dossier
|
mkdir /home/bellinuxien/BACKUPS/nom-de-dossier
|
||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
6. Copier le dossier utilisateur vers le dossier sur le serveur de backup:
|
6. Copier le dossier utilisateur vers le dossier sur le serveur de backup:
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
rsync -ah -e "ssh -p 5555" /mnt/nom_du_dossier bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ --info=progress2 && sync
|
rsync -ah -e "ssh -p 5555" /mnt/nom_du_dossier bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ --info=progress2 && sync
|
||||||
```
|
```
|
||||||
7. Rapatrier les fichiers du serveur de backup vers une machine:
|
7. Rapatrier les fichiers du serveur de backup vers une machine:
|
||||||
``` { .copy }
|
``` {.bash .copy }
|
||||||
rsync -ah -e "ssh -p 5555" bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ /mnt/nom_du_dossier --info=progress2 && sync
|
rsync -ah -e "ssh -p 5555" bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ /mnt/nom_du_dossier --info=progress2 && sync
|
||||||
```
|
```
|
||||||
|
|||||||
@ -3,11 +3,13 @@
|
|||||||
- [ssh](ssh.md)
|
- [ssh](ssh.md)
|
||||||
- [screen](screen.md)
|
- [screen](screen.md)
|
||||||
- [backup](backup.md)
|
- [backup](backup.md)
|
||||||
- [rsync](backup.md)
|
- [rsync](rsync.md)
|
||||||
- [nmcli](nmcli.md)
|
- [nmcli](nmcli.md)
|
||||||
- [chroot](chroot.md)
|
|
||||||
- [lvm](lvm.md)
|
- [lvm](lvm.md)
|
||||||
- [Monter une partition](mount.md)
|
- [Monter une partition](mount.md)
|
||||||
|
- [Monter et gérer un RAID](raid.md)
|
||||||
|
- [Système de fichier ZFS](zfs.md)
|
||||||
|
- [chroot](chroot.md)
|
||||||
- [read](read.md), pour permettre à l'utilisateur d'interagir avec un script (user prompt / user input)
|
- [read](read.md), pour permettre à l'utilisateur d'interagir avec un script (user prompt / user input)
|
||||||
- [heredoc](heredoc.md), le fameux `EOF`, pour afficher du contenu sur plusieurs lignes
|
- [heredoc](heredoc.md), le fameux `EOF`, pour afficher du contenu sur plusieurs lignes
|
||||||
- [listes et dictionnaires avec Bash](bash-lists.md)
|
- [listes et dictionnaires avec Bash](bash-lists.md)
|
||||||
|
|||||||
64
docs/divers/cmd/rsync.md
Normal file
64
docs/divers/cmd/rsync.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# RSYNC (synchronisation de répertoires / fichiers)
|
||||||
|
|
||||||
|
## Synthaxe de base
|
||||||
|
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync [options] source destination
|
||||||
|
```
|
||||||
|
|
||||||
|
## Utilisation locale
|
||||||
|
|
||||||
|
1. Copier un fichier:
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync fichier.txt /home/user/backup/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Copier le contenu d'un dossier:
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync -av /home/user/docs/ /home/user/backup/
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Copier un dossier et son contenu:
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync -av /home/user/docs /home/user/backup/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Utilisation distante (via SSH)
|
||||||
|
|
||||||
|
1. Serveur distant vers machine locale:
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync -avzP user@serveur:/home/user/docs/ /home/user/backup/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Machine local vers serveur distant:
|
||||||
|
``` {.bash .copy }
|
||||||
|
rsync -avzP /home/user/backup/ user@serveur:/home/user/docs/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Les options
|
||||||
|
|
||||||
|
``` {.bash .copy }
|
||||||
|
-a # archive (conserve permissions, liens, dates…)
|
||||||
|
-g # préserve le groupe
|
||||||
|
-l # copie les liens symboliques
|
||||||
|
-o # préserve le propriétaire (nécéssite root)
|
||||||
|
-p # préserver les permissions
|
||||||
|
-u # ignore la copie des fichiers plus récents sur la destination
|
||||||
|
-v # verbose (affiche les détails)
|
||||||
|
-z # compresse les données lors du transfert
|
||||||
|
-v # mode verbose pour afficher les informations de la copie
|
||||||
|
-c # utilise la somme de contrôle pour vérifier si il faut copier le fichier ou pas
|
||||||
|
-P # montre la progression + reprend un transfert interrompu
|
||||||
|
--exclude= # exclure les fichiers de la copie
|
||||||
|
--delete # supprime dans la destination les fichiers absents de la source
|
||||||
|
--max-size # indique la taille maximale des fichiers à copier
|
||||||
|
--dry-run # test la commande sans rien copier
|
||||||
|
--progress # affiche une barre de progréssion
|
||||||
|
-e ssh # passe par SSH (utile pour le réseau)
|
||||||
|
-e "ssh -p 2222" # passe les paramètres SSH
|
||||||
|
```
|
||||||
|
|
||||||
|
## Plus d'informations
|
||||||
|
|
||||||
|
- [Linux.die.net](https://linux.die.net/man/1/rsync)
|
||||||
|
- [Wiki ubuntu](https://doc.ubuntu-fr.org/rsync)
|
||||||
65
docs/divers/cmd/zfs.md
Normal file
65
docs/divers/cmd/zfs.md
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# Système de fichier ZFS
|
||||||
|
|
||||||
|
|
||||||
|
## Créer un système de fichier ZFS
|
||||||
|
|
||||||
|
- Créer une pool et son dataset
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zpool create tank /dev/sdb
|
||||||
|
sudo zfs create tank/data
|
||||||
|
```
|
||||||
|
|
||||||
|
??? note "explications"
|
||||||
|
tank → pool name
|
||||||
|
/dev/sdb → target disk
|
||||||
|
|
||||||
|
## Redondance (RAID)
|
||||||
|
|
||||||
|
- Créer une pool ZFS sur un disk:
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zpool create tank /dev/sdb
|
||||||
|
```
|
||||||
|
|
||||||
|
- Ajouter des disks:
|
||||||
|
``` {.bash .copy }
|
||||||
|
# Mirror (like RAID1)
|
||||||
|
sudo zpool create tank mirror /dev/sdb /dev/sdc
|
||||||
|
# RAID-Z1 (like RAID5, 1 disk fault tolerance)
|
||||||
|
sudo zpool create tank raidz1 /dev/sdb /dev/sdc /dev/sdd
|
||||||
|
# RAID-Z2 (2 disk fault tolerance)
|
||||||
|
sudo zpool create tank raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde
|
||||||
|
```
|
||||||
|
|
||||||
|
- Créer un dataset:
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zfs create tank/data
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sauvegarder (snapshots)
|
||||||
|
|
||||||
|
- Prendre Snapshot daté:
|
||||||
|
``` {.bash .copy }
|
||||||
|
# Snapshot name includes the date
|
||||||
|
sudo zfs snapshot tank/data@$(date +%Y-%m-%d)
|
||||||
|
```
|
||||||
|
|
||||||
|
- Cloner un snpashot:
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zfs clone tank/data@before-upgrade tank/data_clone
|
||||||
|
```
|
||||||
|
|
||||||
|
- Restorer un snapshot (rollback):
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zfs rollback tank/data@before-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
- Supprimer un snapshot:
|
||||||
|
``` {.bash .copy }
|
||||||
|
sudo zfs destroy tank/data@before-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commandes
|
||||||
|
|
||||||
|
``` {.bash .copy }
|
||||||
|
zfs list -t snapshot
|
||||||
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user