Outils pour utilisateurs

Outils du site


restic_utilitaire_de_sauvegarde

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
restic_utilitaire_de_sauvegarde [2020/03/27 23:29] n1c0restic_utilitaire_de_sauvegarde [2023/10/10 20:41] (Version actuelle) – [Restore] Labomedia
Ligne 20: Ligne 20:
  
 <code bash> <code bash>
-adduser restic+adduser restic
 </code> </code>
  
Ligne 26: Ligne 26:
  
 <code bash> <code bash>
-chown restic: /home/restic && chmod 750 /home/restic+chown restic: /home/restic && chmod 750 /home/restic
 </code> </code>
  
Ligne 32: Ligne 32:
  
 <code bash> <code bash>
-cd /home/restic +cd /home/restic 
-mkdir bin +mkdir bin 
-cd bin +cd bin 
-wget https://github.com/restic/restic/releases/download/v0.9.6/restic_0.9.6_linux_amd64.bz2 +wget https://github.com/restic/restic/releases/download/v0.9.6/restic_0.9.6_linux_amd64.bz2 
-bunzip2 restic_0.9.6_linux_amd64.bz2 +bunzip2 restic_0.9.6_linux_amd64.bz2 
-mv restic_0.9.6_linux_amd64 restic +mv restic_0.9.6_linux_amd64 restic 
-cd .. +cd .. 
-chown -R root:restic bin +chown -R root:restic bin 
-chmod 750 bin/restic+chmod 750 bin/restic
 </code> </code>
  
Ligne 48: Ligne 48:
  
 <code bash> <code bash>
-setcap cap_dac_read_search=+ep /home/restic/bin/restic+setcap cap_dac_read_search=+ep /home/restic/bin/restic
 </code> </code>
  
Ligne 54: Ligne 54:
  
 <code bash> <code bash>
-sudo -u restic /home/restic/bin/restic ... paramètres habituels+sudo -u restic /home/restic/bin/restic ... paramètres habituels
 </code> </code>
  
Ligne 64: Ligne 64:
  
 <code bash> <code bash>
-adduser resticbackup+adduser resticbackup
 </code> </code>
  
Ligne 70: Ligne 70:
  
 <code bash> <code bash>
-mkdir resticrepo && chown -R resticbackup: resticrepo+mkdir resticrepo && chown -R resticbackup: resticrepo
 </code> </code>
  
Ligne 93: Ligne 93:
 <code bash> <code bash>
 # on peut taper  # on peut taper 
-ssh resticbox+ssh resticbox
  
 # au lieu de  # au lieu de 
-ssh resticbackup@XXX.XXX.XXX.XXX -p 22+ssh resticbackup@XXX.XXX.XXX.XXX -p 22
 </code> </code>
  
Ligne 106: Ligne 106:
  
 <code bash> <code bash>
-ssh-keygen -t rsa+ssh-keygen -t rsa
 </code> </code>
  
Ligne 112: Ligne 112:
  
 <code bash> <code bash>
-less .ssh/id_rsa.pub+less .ssh/id_rsa.pub
 </code> </code>
  
Ligne 137: Ligne 137:
 On pourra donc executer la commande **rstc** seulement. On pourra donc executer la commande **rstc** seulement.
  
-__Remarque__ : la RESTIC_PASSWORD contient le mot de passe du dépôt (différent du user resticbackup du server save). Il faudra changer **motDePasse** par sa valeur une fois le dépôt initialisé !+__Remarque__ : la variable RESTIC_PASSWORD contient le mot de passe du dépôt (différent du user **resticbackup** du server de sauvegarde). Il faudra changer **motDePasse** par sa valeur une fois le dépôt initialisé ! (voir plus bas)
  
 Pour que le user root puisse utiliser ce nouvel alias, soit il faut se déconnecter / reconnecter, soit executer la commande : Pour que le user root puisse utiliser ce nouvel alias, soit il faut se déconnecter / reconnecter, soit executer la commande :
  
 <code bash> <code bash>
-source /root/.bashrc+source /root/.bashrc
 </code> </code>
 +
  
 ===== Initialiser le depôt ===== ===== Initialiser le depôt =====
Ligne 150: Ligne 151:
  
 <code bash> <code bash>
-sudo -u restic /home/restic/bin/restic -r sftp:resticbox:/home/resticbackup/resticrepo init+sudo -u restic /home/restic/bin/restic -r sftp:resticbox:/home/resticbackup/resticrepo init
 </code> </code>
  
Ligne 166: Ligne 167:
  
 <code bash> <code bash>
-rstc --verbose backup /home/jeanclaude+rstc --verbose backup /home/jeanclaude
 </code> </code>
  
Ligne 172: Ligne 173:
  
 <code bash> <code bash>
-rstc --verbose backup --tag jeanclaude /home/jeanclaude+rstc --verbose backup --tag jeanclaude /home/jeanclaude
 </code> </code>
  
Ligne 180: Ligne 181:
  
 On peut évidemment restaurer n'importe quel snapshot, mais attention, je recommande de restaurer dans un dossier temp ce que l'on veut récuperer, puis de remplacer les fichiers que l'on veut.  On peut évidemment restaurer n'importe quel snapshot, mais attention, je recommande de restaurer dans un dossier temp ce que l'on veut récuperer, puis de remplacer les fichiers que l'on veut. 
 +
 +Ce dossier temporaire doit appartenir au user restic.
  
 Pour restaurer, on a besoin d'un numéro unique de snapshot. Voir plus bas pour la commande listant les snapshots disponibles. Pour restaurer, on a besoin d'un numéro unique de snapshot. Voir plus bas pour la commande listant les snapshots disponibles.
Ligne 186: Ligne 189:
  
 <code bash> <code bash>
-rstc restore 3054af84 --target /home/jeanclaude/repertoireTemporaire+rstc restore 3054af84 --target /home/jeanclaude/repertoireTemporaire
 </code> </code>
  
Ligne 199: Ligne 202:
 </code> </code>
  
-Ne garder qu'un snapshot par jour sur 7 jours pour un **path** donné (pour 7 jours où il y a une sauvegarde, c-a-d que si la sauvegarde est le dimanche, cela gardera 1 sauvegarde pour chacun des 7 derniers dimanches) :+Ne garder qu'un snapshot par jour sur 7 jours pour un **path** donné (pour 7 jours où il y a une sauvegarde, c-a-d que si la sauvegarde est le dimanche, cela gardera 1 sauvegarde jusqu'au lundi d'avant) :
  
 <code bash> <code bash>
-rstc forget --path="/home/nico" --keep-daily 7 --prune+rstc forget --path="/home/nico" --keep-daily 7 --prune
 </code> </code>
  
Ligne 208: Ligne 211:
  
 <code bash> <code bash>
-rstc forget --tag restic1 --keep-daily 7 --prune+rstc forget --tag restic1 --keep-daily 7 --prune
 </code> </code>
  
Ligne 214: Ligne 217:
  
 <code bash> <code bash>
-rstc forget --group-by tags --keep-daily 7 --keep-weekly 5 --keep-monthly 6 --prune+rstc forget --group-by tags --keep-daily 7 --keep-weekly 5 --keep-monthly 6 --prune
 </code> </code>
  
 +Pour supprimer tous les snapshots d'un tag par exemple, il faut d'abord supprimer tous sauf le dernier, puis supprimer le dernier manuellement en executant le prune qui reconstituera les index et supprimera réellement les données :
 +
 +<code bash>
 +rstc forget --tag montag --keep-last 1
 +rstc forget bdbd3439 --prune
 +</code>
 ===== Commandes utiles ===== ===== Commandes utiles =====
 +
 +==== Mise à jour de Restic ====
 +
 +Lancer la commande de mise à jour puis remettre les bons droits :
 +
 +<code bash>
 +cd /home/restic/bin
 +./restic self-update
 +chown root:restic restic && setcap cap_dac_read_search=+ep /home/restic/bin/restic
 +</code>
  
 ==== Lister les snapshots ==== ==== Lister les snapshots ====
  
 <code bash> <code bash>
-rstc snapshots+rstc snapshots
 </code> </code>
  
Ligne 248: Ligne 267:
  
 <code bash> <code bash>
-rstc check+rstc check
 </code> </code>
  
Ligne 260: Ligne 279:
  
 <code bash> <code bash>
-rstc diff 5845b002 2ab627a6+rstc diff 5845b002 2ab627a6
 </code> </code>
  
Ligne 283: Ligne 302:
 Penser à changer la valeur de RESTIC_PASSWORD par le vrai mot de passe de votre dépôt. Penser à changer la valeur de RESTIC_PASSWORD par le vrai mot de passe de votre dépôt.
  
-Ce que fait ce script plutôt simple en réalité :+Ce que fait ce script est plutôt simple en réalité :
  
   * avec le ''for'' on parcourt tous les fichiers directs de /home   * avec le ''for'' on parcourt tous les fichiers directs de /home
Ligne 299: Ligne 318:
   * on lui dit quoi sauvegarder, ''${f}'' contient le path du home en cours, ex : /home/jeanclaude   * on lui dit quoi sauvegarder, ''${f}'' contient le path du home en cours, ex : /home/jeanclaude
  
-{{tag>bash linux utilitaire}}+{{tag>n1c0 bash linux utilitaire futuretic}}
restic_utilitaire_de_sauvegarde.1585351752.txt.gz · Dernière modification : 2020/03/27 23:29 de n1c0