PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

miamondo : Utiliser Git comme outil de sauvegarde et d’infonuagique ?

vendredi 5 mars 2021 à 16:18

Git est une forge, c’est-à-dire un outil collaboratif qui permet à des développeuses (ou des développeurs) de travailler sur un projet commun et de le versionner. Ce système, doté de nombreux outils annexes, est très pratique car il permet d’isoler facilement les bugs et de les traiter. Git garde la trace de toutes les modifications. On peut utiliser Git pour développer un logiciel ou pour écrire un roman. Si vous modifiez un chapitre et que trois semaines plus tard, vous avez des regrets, pas de problème! Vous pouvez retrouver la version et ressusciter un personnage qu’entretemps vous avez assassiné pour les besoins de l’intrigue.

En ce qui me concerne, depuis quelques semaines, je l’utilise aussi pour sauvegarder mon répertoire personnel (Documents, Images, etc…). Bien sûr, le dépôt est privé. J’adore Git et je ne vois que des avantages à avoir tout mon répertoire en accès libre partout où je me trouve, pourvu que j’aie une connexion internet. La sauvegarde versionnée est également très intéressante. Cette forge offre en sus, une multitude d’outils très utiles tels que le wiki, les snippets et bien sûr les « issues ». Je n’ai jamais trouvé mon bonheur chez Nextcloud et autres logiciels d’infonuagique. À mon avis, dans ce domaine, Git est ce qui se rapproche le plus de la perfection… ou plutôt de mes attentes.

J’ai écrit un petit script de mise à jour automatisée qui tourne en tâche de fond, au démarrage de l’ordinateur. J’eus préféré qu’il s’exécutât avant l’extinction mais je ne sais pas comment m’y prendre. Voici le script:

#!/bin/bash

# Mise à jour de ma sauvegarde sur git 
cd ~/sauvegarde
git add . 
jour_heure=`date`
git commit -m "Mise à jour du $jour_heure" 
git push -u origin master

# Mise à jour des paquets
tilix -e "sudo pacman -Syu" &

Vous noterez qu’il met également à jour les paquets, mais ce n’est pas l’objet de cet article. Si une modification a été apportée, je le vois tout de suite grâce à la date et à l’heure précises ou elle a été poussée dans le dépôt. C’est très pratique.

Cela dit, je me pose des questions sur l’usage que j’en fait. D’abord au niveau de la sécurité du dépôt. Dans mon répertoire personnel, je n’ai pas de documents classés « secret défense » dérobés lors de mon service militaire et transmis à nos amis les Russes contre une bouteille de vodka par semaine jusqu’à ma mort. Je n’ai pas non plus de mode opératoire pour fabriquer une bombe avec un carburateur de Peugeot 103 relié à une Raspberry Pi. Mais tout de même, ce sont des documents personnels et j’aurais aimé avoir une estimation du niveau de protection de mes données, comparé par exemple à Nextcloud.

Deuxième point qui me turlubite, Git est un outil à vocation collaborative. Il est conçu pour permettre à au moins deux personnes de travailler ensemble. Or, il est difficile de collaborer avec soi-même tout seul! Par conséquent, je n’utilise pas Git de manière réglementaire. Il n’y a rien de collaboratif dans mon dépôt. Ce n’est pas illégal, mais est-ce que c’est moral? Ne suis-je pas en train d’accaparer égoïstement des ressources qui me sont offertes gratuitement et qui seraient utilisées de manière plus judicieuse par des développeuses pour programmer un hackiciel transformant les balles des fusils d’assaut en d’inoffensives pâquerettes? Pour me donner bonne conscience, je me dis que Git est un outil libre et qu’à ce titre, je suis libre de l’utiliser comme bon me semble, mais ça ne répond pas à mes interrogations.

Dans un paragraphe précédent, j’ai écrit que Git est ce qui se rapproche le plus de la perfection. Il y a tout de même quelques menus inconvénients: Primo, mon répertoire personnel ne peut pas contenir un sous-dépôt git. Lorsque ce cas se présente, je ne peux pas le pousser sur mon dépôt de sauvegarde. Secundo, à la création du dépôt, il n’est pas possible de pousser tout son répertoire d’un coup. Une telle action provoque une interruption de la connexion au dépôt distant. Il faut y aller par petites touches, ce qui peut prendre du temps. Ensuite par contre, il n’y a pas de problème pour pousser les mises à jour. Voici un script qui permet d’automatiser le dépôt initial de ses répertoires et fichiers:

#!/bin/bash

# Nom du script: add_images.sh
# Auteur: Benoît
# Fonction: dépôt automatisé de plusieurs répertoires
# Argument $1: Répertoire d'origine

cd ~/sauvegarde
for var_1 in `ls ~/$1`
do
    mkdir ~/sauvegarde/$1/$var_1
    for var_2 in `ls ~/$1/$var_1`
        do 
            mv ~/$1/$var_1/$var_2 ~/sauvegarde/$1/$var_1
            git add ~/sauvegarde/$1/$var_1/$var_2
            git commit -m "Ajout $var_1"
            git push -u origin master
        done
    rm -r ~/$1/$var_1
done

En conclusion, je dirais que la solution de sauvegarder mon répertoire personnel sur une forge est celle qui me convient le mieux car je ne suis pas quelqu’un qui conserve des documents devenus inutiles ou obsolètes. Je balance beaucoup et j’ai donc un volume de données personnelles réduit. Je ne suis pas persuadé que cette méthode convienne à tout le monde. Mais en tout cas, Git me permet d’avoir un outil de sauvegarde performant et d’avoir aussi mon propre nuage. Le problème est que je détourne la forge de son usage initial.

Gravatar de miamondo
Original post of miamondo.Votez pour ce billet sur Planet Libre.

Articles similaires