Gnuragist.es

Support Gnu/Linux

Outils pour utilisateurs

Outils du site


documentation:borg

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
documentation:borg [2021/03/26 16:17] – [Pour tator et les briques] tiercedocumentation:borg [2021/04/14 17:53] (Version actuelle) – nom variable hgo
Ligne 2: Ligne 2:
  
 Mettre en place un serveur accessible en `ssh` et disposant d'un espace de stockage qui pourra accueillir les sauvegardes de différentes machines appartenant à l'un ou l'autre compte. Mettre en place un serveur accessible en `ssh` et disposant d'un espace de stockage qui pourra accueillir les sauvegardes de différentes machines appartenant à l'un ou l'autre compte.
 +
 +Les sauvegardes seront réalisées avec [borgmatic](https://torsion.org/borgmatic/) qui facilite la mise en place de [borg](https://borgbackup.readthedocs.io/en/stable/index.html).
  
 ``` ```
Ligne 9: Ligne 11:
 STOCKAGE_BORG   = L'espace disque prévu pour les sauvegardes sur SERVEUR_BORG STOCKAGE_BORG   = L'espace disque prévu pour les sauvegardes sur SERVEUR_BORG
 PHRASE_DE_PASSE = La phrase de passe pour chiffrer et déchiffrer les sauvegardes d'une NOM_DE_MACHINE PHRASE_DE_PASSE = La phrase de passe pour chiffrer et déchiffrer les sauvegardes d'une NOM_DE_MACHINE
-FICHIER_TEMP    Un fichier temporaire+CLE_SSH         Chemin vers une clé privée SSH
 ``` ```
  
 ## Serveur ## Serveur
  
-Le serveur peut-être un Debian récent disposant d'un accès `ssh`.  Merci de veiller à ce que `root` ne puisse pas se connecter directement et de mettre en place un utilisateur qui aura un accès par clé ssh //(ed25519 si possible ou RSA4096)// Cet utilisateur n'aura pas d'accès par mot de passe et aura le droit d'utiliser `sudo`.+Le serveur peut-être un Debian récent disposant d'un accès `ssh`.  Merci de veiller à ce que `root` ne puisse pas se connecter directement et de mettre en place un utilisateur qui aura un accès par clé ssh //(ed25519 si possible ou RSA4096)// Cet utilisateur n'aura pas d'accès par mot de passe et n'aura pas le droit d'utiliser `sudo`.
  
 ### Installation ### Installation
Ligne 22: Ligne 24:
 ``` ```
 apt install borgmatic apt install borgmatic
-``` 
- 
-### Groupe borg 
- 
-En vue de limiter l'accès à `STORAGE` aux membres du groupe `borg`. 
- 
-``` 
-groupadd borg 
-``` 
- 
-### R/W sur storage pour le groupe borg 
- 
-Pour limiter les accès à `STORAGE` aux membres du groupe `borg`. 
- 
-``` 
-chown root:borg /media/STORAGE 
-chmod 770 /media/STORAGE 
 ``` ```
  
Ligne 49: Ligne 34:
 ``` ```
  
-### Ajout au groupe borg+### R/W sur storage pour l'utilisateur uniquement
  
-C'est nécessaire pour avoir le droit d'aller dans `/media/STORAGE` parce que c'est accessible uniquement à `root` et aux membres du groupe `borg`.+Pour limiter les accès au `STORAGE` de `NOM_DU_COMPTE`.
  
 ``` ```
-adduser NOM_DU_COMPTE borg+chmod 700 /media/STORAGE/NOM_DU_COMPTE
 ``` ```
  
Ligne 74: Ligne 59:
 ``` ```
 ssh-copy-id NOM_DU_COMPTE@SERVEUR_BORG ssh-copy-id NOM_DU_COMPTE@SERVEUR_BORG
 +```
 +
 +### Configurer le client SSH
 +
 +Pour indiquer à SSH comment se connecter à `SERVEUR_BORG`
 +
 +```
 +# nano ~/.ssh/config
 +Host SERVEUR_BORG
 +User NOM_DU_COMPTE
 +IdentityFile ~/.ssh/CLE_SSH
 +PreferredAuthentications publickey,password
 ``` ```
  
Ligne 99: Ligne 96:
  
 ``` ```
-borg init --encryption=repokey-blake2 NOM_DU_COMPTE@SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE+borg init --encryption=repokey-blake2 SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE
 Passe phrase : PHRASE_DE_PASSE Passe phrase : PHRASE_DE_PASSE
 ``` ```
  
 ``` ```
-borg key export NOM_DU_COMPTE@SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE FICHIER_TEMP +borg key export SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE /dev/stdout
-cat FICHIER_TEMP +
 BORG_KEY f6dc3da161fa259ad8c79380b2593d4996e4fb3c3efd802c88d996dd93b5f250 BORG_KEY f6dc3da161fa259ad8c79380b2593d4996e4fb3c3efd802c88d996dd93b5f250
 hqlhbGdvcml0aG2mc2hhMjU2pGRhdGHaAZ6DIeXAqvfULdYvWU6QooZHvmEaUvP3yzjQj9 hqlhbGdvcml0aG2mc2hhMjU2pGRhdGHaAZ6DIeXAqvfULdYvWU6QooZHvmEaUvP3yzjQj9
Ligne 120: Ligne 116:
 ``` ```
 Et la coller dans le `password-store` du NOM_DU_COMPTE dans borg_sur_SERVEUR en tant que commentaire repokey-blake2 = "coller la clé". Et la coller dans le `password-store` du NOM_DU_COMPTE dans borg_sur_SERVEUR en tant que commentaire repokey-blake2 = "coller la clé".
- 
-Effacer le fichier FICHIER_TEMP. 
- 
-``` 
-rm FICHIER_TEMP 
-``` 
  
 ### Éditer la config ### Éditer la config
Ligne 136: Ligne 126:
         - /         - /
     repositories:     repositories:
-        - NOM_DU_COMPTE@SERVEUR:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE+        - SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE
     exclude_patterns:     exclude_patterns:
         - /dev         - /dev
Ligne 161: Ligne 151:
  
 ``` ```
-borg info NOM_DU_COMPTE@SERVEUR:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE+borg info SERVEUR_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE
 Et donner la PHRASE_DE_PASSE Et donner la PHRASE_DE_PASSE
 ``` ```
Ligne 187: Ligne 177:
 nano /etc/cron.d/borgmatic nano /etc/cron.d/borgmatic
 Et mettre : Et mettre :
-42 00 * * * root /usr/bin/borgmatic+42 0 * * * root /usr/bin/borgmatic --create --prune 
 +42 1 * * 0 root /usr/bin/borgmatic --check
 ``` ```
  
Ligne 195: Ligne 186:
 Pour mettre en pratique ce qui est expliqué plus haut, voici ce qui se fait pour un cas particulier de **mabrique** et de **tator** qui sont deux Olimex LIME1 dans une cave connectées à Internet. Pour mettre en pratique ce qui est expliqué plus haut, voici ce qui se fait pour un cas particulier de **mabrique** et de **tator** qui sont deux Olimex LIME1 dans une cave connectées à Internet.
  
-**mabrique** dispose d'une IP publique grâce à un [vpn de Neutrinet](https://neutrinet.be) et **tator** est sur le même réseau local /(LAN)/.+**mabrique** dispose d'une IP publique grâce à un [vpn de Neutrinet](https://neutrinet.be) et **tator** est sur le même réseaulocal //(LAN)//.
  
-D'autre [briques internet](https://labriqueinter.net) viennent déposer leur sauvegardes `borgmatic` en passant /(jump)/ par **mabrique** pour atteindre **tator**.+D'autre [briques internet](https://labriqueinter.net) viennent déposer leur sauvegardes `borgmatic` en passant //(jump)// par **mabrique** pour atteindre **tator**.
  
 ### Sur mon ordi ### Sur mon ordi
Ligne 233: Ligne 224:
     PermitUserRC yes     PermitUserRC yes
  
-service ssh relaod+service ssh reload
 ``` ```
  
Ligne 249: Ligne 240:
 chmod 700 /media/STORAGE/NOM_DU_COMPTE chmod 700 /media/STORAGE/NOM_DU_COMPTE
 ``` ```
- 
-Et l'ajouter au groupe `borg` pour avoir le droit de rentrer dans `/media/STORAGE` qui contient de dossier `home` du NOM_DU_COMPTE. 
- 
-``` 
-adduser NOM_DU_COMPTE borg 
-``` 
- 
  
 ### Sur une machine ### Sur une machine
Ligne 273: Ligne 257:
  
 ``` ```
-nano /root/.ssh/config +nano /root/.ssh/config
-Et mettre :+
 Host tierce Host tierce
-Hostname tierce.nohost.me +  Hostname tierce.nohost.me 
-User NOM_DU_COMPTE  +  User NOM_DU_COMPTE  
  
 Host tator Host tator
-Hostname 192.168.1.9 +  Hostname 192.168.1.9 
-User NOM_DU_COMPTE +  User NOM_DU_COMPTE 
-ProxyJump tierce+  ProxyJump tierce
 ``` ```
 Copier la clé de `root` sur ma brique. Copier la clé de `root` sur ma brique.
Ligne 312: Ligne 295:
 ``` ```
 mount mount
 +et/ou bien:
 +df
 et/ou bien: et/ou bien:
 ls /mnt ls /mnt
Ligne 326: Ligne 311:
  
 ``` ```
-borg init --encryption=repokey-blake2 NOM_DU_COMPTE@SERVEUR:/media/STORAGE/NOM_DU_COMPTE/NOM_DE_MACHINE+borg init --encryption=repokey-blake2 tator:/media/STORAGE/NOM_DU_COMPTE/NOM_DE_MACHINE
 ``` ```
  
Ligne 332: Ligne 317:
  
 ``` ```
-borg key export NOM_DU_COMPTE@SERVEU_BORG:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE FICHIER_TEMP +borg key export tator:/media/STORAGE/NOM_DU_COMPTE/NOM_MACHINE /dev/stdout
-cat FICHIER_TEMP+
 BORG_KEY f6dc3da161fa259ad8c79380b2593d4996e4fb3c3efd802c88d996dd93b5f250 BORG_KEY f6dc3da161fa259ad8c79380b2593d4996e4fb3c3efd802c88d996dd93b5f250
 hqlhbGdvcml0aG2mc2hhMjU2pGRhdGHaAZ6DIeXAqvfULdYvWU6QooZHvmEaUvP3yzjQj9 hqlhbGdvcml0aG2mc2hhMjU2pGRhdGHaAZ6DIeXAqvfULdYvWU6QooZHvmEaUvP3yzjQj9
Ligne 346: Ligne 330:
 wQvKVucuWuqml0ZXJhdGlvbnPOAAGGoKRzYWx02gAg0tq+i2wceA8guVTmn4AzKJsJRDb8 wQvKVucuWuqml0ZXJhdGlvbnPOAAGGoKRzYWx02gAg0tq+i2wceA8guVTmn4AzKJsJRDb8
 ueHXWCC+xBNhDNKndmVyc2lvbgE= ueHXWCC+xBNhDNKndmVyc2lvbgE=
-rm FICHIER_TEMP 
 ``` ```
  
Ligne 360: Ligne 343:
 nano /etc/cron.d/borgmatic nano /etc/cron.d/borgmatic
 et coller: et coller:
-42 00 * * * root /usr/bin/borgmatic #ou 42 est la minute et 00 l'heure de début * * * étant chaque jour, chaque mois, chaque jour de la semaine+42 0 * * * root /usr/bin/borgmatic --create --prune #ou 42 est la minute et 00 l'heure de début * * * étant chaque jour, chaque mois, chaque jour de la semaine 
 +42 1 * * 0 root /usr/bin/borgmatic --check
 ``` ```
  
Ligne 379: Ligne 363:
  
 Ça va avec les alertes. Ça va avec les alertes.
 +
 +### ?? accès sans terminal
 +
 +Actuellement un NOM_DU_COMPTE dispose d'un accès `ssh` au serveur de sauvegardes.
documentation/borg.1616771866.txt.gz · Dernière modification : 2021/03/26 16:17 de tierce